Selenium 中跟踪和迭代选项卡和窗口的最佳方法(使用 WindowHandles)
在软件测试中,跟踪多个选项卡和窗口可能是一项挑战。Selenium 提供了 WindowHandles 属性来管理此问题,但其不可预测的排序顺序可能是一个缺点。
WindowHandle 顺序的随机性
如给定讨论中所述,Selenium 并不保证窗口句柄的顺序按窗口创建的顺序排序。这种随机性使得难以按所需顺序迭代窗口。
替代方案
为了解决这个问题,我们可以使用更可靠的方法:
以下是用 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>
通过遵循这些步骤,我们可以更有效地管理多个选项卡和窗口,确保可预测的迭代和切换行为。
以上是如何可靠地跟踪和迭代 Selenium 窗口句柄?的详细内容。更多信息请关注PHP中文网其他相关文章!