selenium:第一个窗口句柄总是主窗口?

use*_*709 5 selenium selenium-webdriver

第一个窗口是否保证是主窗口?或者订单是随机的还是不一致的?

for (String handle : driver.getWindowHandles()) {
    driver.switchTo().window(handle);
}
Run Code Online (Sandbox Code Playgroud)

我找不到任何关于窗口句柄顺序的信息,只是一种迭代它们的方法.我假设窗口句柄列表中的第一个将成为主窗口.

ale*_*cxe 4

根据当前的WebDriver API 规范

6.3 Windows 上的迭代

获取窗口句柄

包含此会话中每个打开窗口的窗口句柄的数组。返回的字符串数组必须包含与浏览器会话关联的每个窗口的句柄,而不包含其他窗口。对于每个返回的窗口句柄,JavaScript 表达式“window.top.close”(或等效表达式)在执行命令时必须计算为 false。

数组元素的顺序未定义,但可以通过迭代每个顶级浏览器窗口并在迭代下一个顶级浏览器窗口的选项卡之前返回该窗口内的选项卡来确定。

简而言之,不 - 没有保证订单。