如何在Selenium Webdriver中处理阴影dom

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

我正在尝试使用c#WebDriver处理这个dom。我的chromedriver使用v38。我不能使用输入#frameworkInput,因为没有看到#shadow-root下的所有东西。所以我试过了

IWebElement ele = (IWebElement)((IJavaScriptExecutor)Driver).ExecuteScript("return arguments[0].shadowRoot", element);

但这只是带回异常shadowRoot未找到。我在这里尝试了一些建议,但它们似乎没有用。有什么指针吗?

This is the dom

c# selenium-webdriver shadow-dom
1个回答
0
投票

我找到了自己问题的答案

element1
(shadowdom)
element2 
(shadowdom)
element3

我以为我可以直接从dom访问参数[0] .shadowRoot事实上我必须得到element1,查询它为shadowRoot,获取element2,查询它为shadowRoot,然后我可以找到element3。这不是我的预期,很可能我没有理解以前关于这个主题的帖子。(?)最有帮助的答案是selenium webdriver (chromedriver) and accessing shadow dom

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