Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Polymer UI元素shadow root不支持使用selenium webdriver进行自动化_Javascript_Selenium_Polymer 2.x - Fatal编程技术网

Javascript Polymer UI元素shadow root不支持使用selenium webdriver进行自动化

Javascript Polymer UI元素shadow root不支持使用selenium webdriver进行自动化,javascript,selenium,polymer-2.x,Javascript,Selenium,Polymer 2.x,我面临使用SeleniumWebDriver自动化polymer ui页面的问题。阻止启动selenium自动化的原因是中的“shadow root”元素 聚合物组分。请提供一些例子或想法来解决这个问题。selenium支持聚合ui自动化吗?不,selenium不支持它。您必须使用documat.querySelector(…).shadowRoot在selenium中使用javascript executer,或者使用“/deep/”组合器。 最好的方法是“/deep/combinator”,

我面临使用SeleniumWebDriver自动化polymer ui页面的问题。阻止启动selenium自动化的原因是中的“shadow root”元素
聚合物组分。请提供一些例子或想法来解决这个问题。selenium支持聚合ui自动化吗?

不,selenium不支持它。您必须使用documat.querySelector(…).shadowRoot在selenium中使用javascript executer,或者使用“/deep/”组合器。 最好的方法是“/deep/combinator”,因为在处理多级阴影DOM时querySelector很烦人

我可以通过

driver.find\u elements\u by_css\u选择器('body/deep/.layout.horizontal.center'))

无论有多少阴影根,它都可以访问复合类名为“layout horizontal center”的元素

但这只适用于chrome驱动程序,我看到notes“/deep/”是一种不推荐的方法

于2019年2月13日编辑 你可以使用这个项目。最初为ruby Watir框架开发并成功运行,但您可以将其用于selenium webdriver现有框架或任何支持调用javascript方法的现有webdriver。它还将缩短您的测试用例开发时间和维护时间。它使您的代码更具可读性和排序,这将有助于您在调试时间


值得花5分钟阅读说明,说明与当前框架或新框架集成是多么容易。

@Anbuvel您的代码试用版pleaseThanks@SushilG,它正在使用selenium中的javascript执行器。