首頁 > 後端開發 > C++ > 我如何通過硒窗手柄可靠地跟踪和迭代?

我如何通過硒窗手柄可靠地跟踪和迭代?

Barbara Streisand
發布: 2025-01-27 02:52:08
原創
774 人瀏覽過

How Can I Reliably Track and Iterate Through Selenium Window Handles?

Selenium 中追蹤和迭代選項卡和視窗的最佳方法(使用 WindowHandles)

在軟體測試中,追蹤多個選項卡和視窗可能是一項挑戰。 Selenium 提供了 WindowHandles 屬性來管理此問題,但其不可預測的排序順序可能是一個缺點。

WindowHandle 順序的隨機性

如給定討論中所述,Selenium 並不保證視窗句柄的順序按視窗建立的順序排序。這種隨機性使得難以以所需順序迭代視窗。

替代方案

為了解決這個問題,我們可以用更可靠的方法:

  1. 引入 WebDriverWait: 這確保 WebDriver 在收集句柄之前等待新選項卡或視窗完全載入。
  2. 收集視窗句柄: 開啟新分頁或視窗後,擷取視窗句柄集。
  3. 迭代和切換: 循環遍歷句柄,並使用 switchTo().window() 將焦點放在每個新開啟的視窗上,取決於需求。

以下是用 Java、WebDriver 3.5.3 和 IEDriverServer 3.5.0.0 寫的範例:

<code class="language-java">WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.numberOfWindowsToBe(2));
Set<String> s1 = driver.getWindowHandles();
Iterator<String> i1 = s1.iterator();</code>
登入後複製

透過遵循這些步驟,我們可以更有效地管理多個選項卡和窗口,確保可預測的迭代和切換行為。

以上是我如何通過硒窗手柄可靠地跟踪和迭代?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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