如何在SeleniumWebdriver

时间:2019-03-25 10:24:00

标签: c# selenium-webdriver shadow-dom

我正在尝试使用c#WebDriver处理此dom。我的chromedriver使用v38。 我无法使用input#frameworkInput,因为看不到#shadow-root下的所有内容。 所以我尝试了

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

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

This is the dom

1 个答案:

答案 0 :(得分:0)

我找到了自己问题的答案

element1
(shadowdom)
element2 
(shadowdom)
element3

我当时想我可以直接从dom访问arguments [0] .shadowRoot 实际上,我必须获取element1,查询它的shadowRoot,获取element2,查询它的shadowRoot,然后才能找到element3。 这不是我所期望的,很可能是我听不懂有关该主题的先前文章。(?)最有用的答案是selenium webdriver (chromedriver) and accessing shadow dom