代码应执行以下操作:
1)打开www.google.com
2)查找所有带有标签“ a”的链接
对于每个链接:
3)在新标签页中打开链接
如果打开了两个选项卡:
4)切换到第二个标签(打开的链接)
5)关闭第二个标签
6)切换到第一个标签(www.google.com)
它在大多数情况下都非常适合Chrome。
由于Firefox做奇怪的事情,因此在Firefox中存在问题。
(永远不会像预期的那样工作:一段时间后打开许多链接。)
是Selenium和/或Firefox的错误吗?
driver.get("https://www.google.com");
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
for (WebElement link : allLinks) {
link.sendKeys(Keys.chord(Keys.CONTROL,Keys.RETURN));
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
if (tabs.size() == 2) {
driver.switchTo().window(tabs.get(1));
driver.close();
driver.switchTo().window(tabs.get(0));
}
}