【发布时间】:2022-01-26 04:47:40
【问题描述】:
当我阅读有关 driver.getWindowHandles() 的内容时,我在某处读到“它将按照打开的顺序返回窗口句柄”。
但是,当我实时使用它时,情况并非如此。
public void checkAllWebpages() {
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
for(int tab = 1; tab<=5; tab++) {
driver.switchTo().window(tabs.get(tab));
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
当我运行上面的代码时,WebDriver 会遍历打开的选项卡,但是它是从最后一个到第一个而不是从第一个到最后一个(从右到左而不是从左到右)。
假设我现在只打开了一个标签,我们称之为“a”。现在我按“b”、“c”、“d”、“e”、“f”的顺序打开 5 个标签。
如果我现在运行上面的代码,WebDriver 将按 'f'、'e'、'd'、'c'、'b'、'a' 的顺序遍历选项卡,而不是 'a', 'b'、'c'、'd'、'e'、'f'。这是为什么呢?
【问题讨论】:
标签: selenium selenium-webdriver testng