简体   繁体   English

如何使用 Firefox 的 selenium Webdriver 处理 Shadow-dom 元素

[英]How to handle Shadow-dom elements using selenium Webdriver for Firefox

I'm testing an application using java-selenium Webdriver where there are some shadow-dom elements.我正在使用 java-selenium Webdriver 测试一个应用程序,其中有一些 shadow-dom 元素。 How can I test them for Firefox driver?我如何测试它们的 Firefox 驱动程序?

I tried the following code我尝试了以下代码

WebElement ele = (WebElement) ((JavascriptExecutor)driver).executeScript("return arguments[0].shadowRoot",element);
return ele;

This works for Chrome.这适用于 Chrome。 But for Firefox, I get a "Javascript Exception: Cyclic object error".但是对于 Firefox,我得到一个“Javascript 异常:循环 object 错误”。 Could you please help能否请你帮忙

Not a fix, but as a work around..不是修复,而是作为一种解决方法..

Instead of "return arguments[0].shadowRoot" use "return arguments[0].shadowRoot.children" This will return a collection of the root nodes and you can index or use your favorite collection query method to move forward.代替“return arguments[0].shadowRoot”使用“return arguments[0].shadowRoot.children”这将返回根节点的集合,您可以索引或使用您喜欢的集合查询方法继续前进。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM