【发布时间】:2019-01-08 19:06:44
【问题描述】:
我正在尝试使用 Java Selenium 在我的节点 webkit 应用程序上自动化一些测试。它的工作方式是chromedriver附加到主窗口,但我访问的任何网站都在DOM中作为webview,如下所示:
带有 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"));
第二行给了我一个“isShown 的参数必须是 Element 类型”,但这没有意义,因为我没有调用 isShown 函数。
【问题讨论】:
-
我看过那个线程,不同的是在那个问题中,只有一个影子根,访问没有问题,但我的影子根在 webview 里面,影子根下面是 iframe我尝试访问
-
你找到解决办法了吗?
标签: java selenium iframe webview shadow-dom