首頁 > Java > java教程 > 當 Selenium WebDriver 共用相同視窗句柄時如何在選項卡之間切換?

當 Selenium WebDriver 共用相同視窗句柄時如何在選項卡之間切換?

Patricia Arquette
發布: 2024-12-17 07:21:25
原創
409 人瀏覽過

How to Switch Between Tabs in Selenium WebDriver When They Share the Same Window Handle?

在Java 中使用Selenium WebDriver 切換選項卡

在使用Java 的Selenium WebDriver 中,自動化涉及多個選項卡的場景可能會帶來挑戰,因為他們有可能共享相同的視窗句柄。這可能會阻礙使用預設切換句柄方法在選項卡之間切換的嘗試。

問題:

提供的程式碼嘗試自動化一個流程,包括開啟新選項卡,在其中執行操作,然後返回原始選項卡(父選項卡) 。但是,切換句柄方法並不成功,因為兩個選項卡共用相同的視窗句柄。與使用單獨的 Firefox 視窗不同,在處理相同視窗中的標籤時尤其會出現此問題。

解決方案:

為了在這種情況下有效地在選項卡之間切換,可以採用以下方法:

  1. 利用clickDocumentLink() 方法開啟一個新的文件
  2. 使用ArrayList取得所有開啟的視窗句柄的列表tabs = new ArrayList; (driver.getWindowHandles());.
  3. 使用driver.switchTo().window(tabs.get(1)) 切換到新選項卡;.
  4. 使用driver關閉新選項卡.close();.
  5. 使用返回父選項卡driver.switchTo().window(tabs.get(0)); .

範例程式碼:

psdbComponent.clickDocumentLink();
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.close();
driver.switchTo().window(tabs.get(0));
登入後複製

按照以下步驟,即使選項卡共享相同的視窗句柄,您也可以成功地在選項卡之間切換。請記住在嘗試其中的任何操作之前將您的驅動程式切換到新分頁。

以上是當 Selenium WebDriver 共用相同視窗句柄時如何在選項卡之間切換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板