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

问题描述 投票:0回答:1

我正面临使用selenium webdriver自动化聚合物ui页面的问题。阻止启动硒自动化的原因是聚合物组分中的“阴影根”元素。善意地提出一些例子或想法来克服这个问题。硒是否支持聚合物ui自动化?

javascript selenium polymer-2.x
1个回答
1
投票

没有硒不支持它。您必须使用documant.querySelector(...)。shadowRoot或使用“/ deep /”combinator在selenium中使用javascript执行器。最好的是“/ deep / combinator”,因为在处理多级阴影DOM时,querySelector很烦人。

我能够通过访问所有阴影根元素

driver.find_elements_by_css_selector( '体/深/ .layout.horizo​​ntal.center')

无论它具有多少阴影根,它都可以访问具有复合类名称“layout horizo​​ntal center”的元素。

但这仅适用于Chrome驱动程序,我看到注释“/ deep /”是一种弃用的方法。

编辑于2019年2月13日你可以使用这个项目https://github.com/sukgu/shadow-automation-selenium。最初为ruby Watir框架开发并且工作成功,但是你可以将它用于selenium webdriver现有框架或任何支持调用javascript方法的现有webdriver。它还将缩短您的测试用例开发时间和维护时间。它使您的代码更具可读性和排序,有助于您调试时间。

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

© www.soinside.com 2019 - 2024. All rights reserved.