无法与父 html 内嵌入 html 页面中的元素进行交互
嗨,
我正在自动化的网页在父页面内有一个嵌入的 html 页面。
我无法与嵌入页面中存在的元素进行交互,有一种方法可以使用它们,我尝试使用 switch 来框架与 webelement 上的实例,但它不起作用。
谢谢!
你有一个问题,因为放置在影子根中的
embed
元素实际上是iframe
。
因此,要在 Selenium 中使用它,您应该像通过
shadow_root
那样进入 JavaScript executor
并返回此元素。
Java 伪代码示例
WebElement embed = (WebElement) ((JavascriptExecutor) driver).executeScript("return document.querySelector(selector).shadowRoot.querySelector(...);"); // embed element
driver.switchTo().frame(embed);
driver.findElement(new By.ByCssSelector("yourSelector"));
如果您想要更具体的解决方案,请提供 html 结构作为您正在使用的代码和语言。