我无法与 #shadow-root 内的元素进行交互,并且上面有一个 <iframe> 标签

时间:2021-05-05 18:00:08

标签: javascript selenium selenium-webdriver iframe shadow-dom

Page source:

我在 java 中使用 selenium。 要访问影子根,我使用 JavascripExecutor (document.shadowRoot.querySelector)

我能够与页面内的其他元素进行交互。但我无法进入这个 iframe 并将我想要的内容粘贴到文本框上。

这就是我与其他元素交互的方式:

WebElement selectSubError1 = (WebElement) jsExecutor.executeScript("return document.querySelector"); ((JavascriptExecutor) 浏览器).executeScript("arguments[0].click();", selectSubError1);

如果你知道它的分辨率,请在下面评论。

1 个答案:

答案 0 :(得分:0)

您需要切换到 iframe,就好像它是一个单独的窗口一样:

https://www.guru99.com/handling-iframes-selenium.html

driver.switchTo().frame("a077aa5e");

更多 iframe 详情: https://stackoverflow.com/a/67383631/1387701