如何使用空手道访问影子 Dom 树元素?



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

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文件中,编写以下代码

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。

下面是一个示例:https://stackoverflow.com/a/60618233/143475

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

最新更新