如何通过 Selenium WebDriver (Java API) 在网页视图中查找网页元素?
How to find web elements in web-view via Selenium WebDriver (Java API)?
我正在使用 Selenium WebDriver (Java API)
来测试基于 electron/chromium
的应用程序。此应用程序的登录页面有一个 web-view
(<webview>...</webview>
),可在其中加载辅助网页。我在下面附上了类似登录页面的屏幕截图及其 DOM 供您参考。正如您在屏幕截图中看到的,web-view
在此示例中加载了辅助网页 https://www.google.ca/。我需要与此辅助网页中的 Web 元素进行交互。假设我正在尝试找到 Google Search
按钮并在此示例中单击它,如下所示。
WebElement googleSearchButton = driver.findElement(By.xpath("//input[@value='Google Search']"));
googleSearchButton.click();
不幸的是,我似乎无法通过 driver.findElement(By)
在二级网页中找到任何网页元素。例如,上面提到的代码片段的第一行抛出一个 NoSuchElementException
.
有谁知道如何通过 Selenium WebDriver (Java API)
在 web-view
中查找网络元素?
提前致谢!
通过阅读 WebView 文档,我发现首先不建议使用 webview。
现在开始回答你的问题。您可以阅读此文档并使用 JavascriptExecutor 使用 webview 的 api.
与 webview 交互
https://github.com/electron/electron/issues/2285
在控制台选项卡中打开 DevTools 执行 document.querySelector('webview').openDevTools();
它将为您打开新的 window 和所需的 HTML.
或者如果使用 jQuery $('webview').openDevTools();
也许只需将 'webview'
更改为您的定位器,因为我的页面上只有一个 webview。
干杯。
我正在使用 Selenium WebDriver (Java API)
来测试基于 electron/chromium
的应用程序。此应用程序的登录页面有一个 web-view
(<webview>...</webview>
),可在其中加载辅助网页。我在下面附上了类似登录页面的屏幕截图及其 DOM 供您参考。正如您在屏幕截图中看到的,web-view
在此示例中加载了辅助网页 https://www.google.ca/。我需要与此辅助网页中的 Web 元素进行交互。假设我正在尝试找到 Google Search
按钮并在此示例中单击它,如下所示。
WebElement googleSearchButton = driver.findElement(By.xpath("//input[@value='Google Search']"));
googleSearchButton.click();
不幸的是,我似乎无法通过 driver.findElement(By)
在二级网页中找到任何网页元素。例如,上面提到的代码片段的第一行抛出一个 NoSuchElementException
.
有谁知道如何通过 Selenium WebDriver (Java API)
在 web-view
中查找网络元素?
提前致谢!
通过阅读 WebView 文档,我发现首先不建议使用 webview。
现在开始回答你的问题。您可以阅读此文档并使用 JavascriptExecutor 使用 webview 的 api.
与 webview 交互https://github.com/electron/electron/issues/2285
在控制台选项卡中打开 DevTools 执行 document.querySelector('webview').openDevTools();
它将为您打开新的 window 和所需的 HTML.
或者如果使用 jQuery $('webview').openDevTools();
也许只需将 'webview'
更改为您的定位器,因为我的页面上只有一个 webview。
干杯。