小编Ale*_*lea的帖子

Java Selenium:在 webview 中打开的 shadow-root 中切换到 iframe

我正在尝试使用 Java Selenium 在我的节点 webkit 应用程序上自动化一些测试。它的工作方式是 chromedriver 附加到主窗口,但我访问的任何站点都作为 webview 在 DOM 中,如下所示:

带有 DOM 的图片:

在此处输入图片说明

我将如何处理这个问题?在 java 中扩展 shadow root 元素并尝试将上下文切换到它下面的 iframe 之后,我只是得到与我正在调用的函数无关的随机错误(在我看来)。例如:

WebElement shadowRoot = expandShadowElement(root);

WebElement iframe = shadowRoot.findElement(By.cssSelector("iframe"));
Driver.getWebDriver().switchTo().frame(iframe);

WebElement city = Driver.getWebDriver().findElement(By.className("input-btn-group"));
Run Code Online (Sandbox Code Playgroud)

第二行给了我一个“isShown 的参数必须是元素类型”,但这没有意义,因为我没有调用 isShown 函数。

java iframe selenium webview shadow-dom

5
推荐指数
1
解决办法
1212
查看次数

标签 统计

iframe ×1

java ×1

selenium ×1

shadow-dom ×1

webview ×1