java - 如何通过 Selenium WebDriver (Java API) 在 Web View 中查找 Web 元素?

标签 java selenium selenium-webdriver webview selenium-chromedriver

我正在使用Selenium WebDriver (Java API)测试 electron/chromium基于应用程序。该应用程序的登录页面有一个 web-view ( <webview>...</webview> ) 在其中加载辅助网页。我在下面附上了类似登录页面及其 DOM 的屏幕截图,供您引用。正如您在屏幕截图中看到的,web-view加载辅助网页https://www.google.ca/在这个例子中。我需要与这个辅助网页中的网络元素进行交互。假设我正在尝试查找 Google Search按钮并在本示例中单击它,如下所示。

WebElement googleSearchButton = driver.findElement(By.xpath("//input[@value='Google Search']"));
googleSearchButton.click();

不幸的是,我似乎无法通过driver.findElement(By)在辅助网页中找到任何网络元素。例如,上述代码片段的第一行抛出 NoSuchElementException .

有谁知道如何在 web-view 中查找网页元素通过Selenium WebDriver (Java API)

提前致谢!

enter image description here

最佳答案

通过WebView文档中,我看到首先不建议使用 webview。

现在,回答你的问题。您可以阅读此文档并利用 JavascriptExecutor 通过 webview 的 api 与 webview 进行交互。

关于java - 如何通过 Selenium WebDriver (Java API) 在 Web View 中查找 Web 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59617224/

相关文章:

node.js - 获取浏览器的当前 URL

Selenium 网格: MaxSessions vs MaxInstances

java - 在 1 个命令行中添加 2 个类路径

java - OpenAPI - 为不断变化的 api 生成服务器代码?

java - 使用 Kotlin 的 RxJava - 如何同步 2 个异步方法,从 Java 重构

selenium - 无法点击 iframe 内的元素

selenium - 通过 saucelabs 运行 testcafe 脚本时获取 "Failed to start Selenium listener."错误消息

selenium - NS_ERROR_SOCKET_ADDRESS_IN_USE

java - 使用 FirestorePagingAdapter 的 SnapshotParser

java - 从标签中获取可见文本列表