簡體   English   中英

如何通過 Selenium WebDriver (Java API) 在 web 視圖中查找 web 元素?

[英]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/ 我需要與此輔助網頁中的網絡元素進行交互。 假設我正在嘗試查找Google Search按鈕並在此示例中單擊它,如下所示。

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

不幸的是,我似乎無法通過driver.findElement(By)在輔助網頁中找到任何網頁元素。 例如,上面提到的代碼片段的第一行拋出一個NoSuchElementException

有誰知道如何通過Selenium WebDriver (Java API)web-view查找 web 元素?

提前致謝!

在此處輸入圖片說明

通過瀏覽WebView文檔,我發現首先不建議使用 webview。

現在,來回答你的問題。 您可以閱讀此文檔並使用 JavascriptExecutor 使用 webview 的 api 與 webview 交互。

https://github.com/electron/electron/issues/2285

在控制台選項卡中打開 DevTools 執行document.querySelector('webview').openDevTools(); 它會打開你想要的 HTML 的新窗口。

或者如果使用 jQuery $('webview').openDevTools();

也許只是將'webview'更改為您的定位器,因為我在頁面上只有一個webview

干杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM