有时候我们需要使用Selenium来打开并切换标签页,但是Selenium似乎没有直接为我们提供API。
如果直接调用多次如下语句的话,只会多次刷新,并没有打开新的标签页
driver.get("http://www.baidu.com");
通过如下代码,就能实现切换标签页操作了:
ChromeDriver driver = new ChromeDriver();
// 先执行js语句打开一个新的标签页
driver.executeScript("window.open('')");
// 获取所有windowHandle
Set<String> windowHandles = driver.getWindowHandles();
WebDriver.TargetLocator targetLocator = driver.switchTo();
String handle = "";
for (String windowHandle : windowHandles) {
handle = windowHandle;
}
// 切换到对应标签页
targetLocator.window(handle);
driver.get("http://www.baidu.com");