我正在尝试使用 c# WebDriver 来处理这个 dom。我的 chromedriver 使用 v38。 我无法使用 input#frameworkInput,因为看不到#shadow-root 下的所有内容。 所以我尝试了
IWebElement ele = (IWebElement)((IJavaScriptExecutor)Driver).ExecuteScript("return arguments[0].shadowRoot", element);
但这只是带回了未找到 shadowRoot 的异常。我在这里尝试了一些建议,但它们似乎不起作用。有什么指点吗?
最佳答案
我找到了我自己问题的答案
element1
(shadowdom)
element2
(shadowdom)
element3
我在想我可以直接从 dom 访问 arguments[0].shadowRoot 事实上,我必须获取 element1,查询它的 shadowRoot,获取 element2,查询它的 shadowRoot,然后我才能找到 element3。 这不是我所期望的,很可能我没能理解以前关于这个主题的帖子。(?)最有帮助的答案是 selenium webdriver (chromedriver) and accessing shadow dom
关于c# - 如何在 Selenium Webdriver 中处理 shadow dom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55335650/