我们如何使用空手道访问影子Dom树元素? [英] How we can access shadow Dom tree elements using karate?

查看:54
本文介绍了我们如何使用空手道访问影子Dom树元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用硒,我们可以通过以下方式访问它:

Using selenium we can access it in this way:

def expand_shadow_element(element):
      shadow_root = driver.execute_script('return arguments[0].shadowRoot', element)
      return shadow_root
        outer = expand_shadow_element(driver.find_element_by_css_selector("#test_button"))
        inner = outer.find_element_by_id("inner_button")
        inner.click()

所以我以类似的方式尝试使用空手道来寻找 在.js文件中,编写以下代码

So in similar way, I tried to find using karate in .js file, write the below code

expand_shadow_element(element):
      shadow_root = driver.execute_script('return arguments[0].shadowRoot', element)
      return shadow_root** 
        //And call the .js file in feature file by below code:
        def ele = expand_shadow_element(locate('#drawerPanel'))

但这对我不起作用.

推荐答案

只需使用script()即可轻松触发页面中的任意JS.

Just use script() to easily fire any arbitrary JS in the page.

这里是一个示例: https://stackoverflow.com/a/60618233/143475

* script('hangout-module', "_.shadowRoot.querySelector('button').click()")

这篇关于我们如何使用空手道访问影子Dom树元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆