Sri*_*kka 3 java selenium webdriver selenium-webdriver
有人可以在这种情况下帮助我:
场景是:有一个网页,我只在新标签中打开所有指定的链接.现在我试图点击新打开的Tab中的任何一个链接.尝试下面,但它只是单击主/第一个选项卡中的一个链接,而不是在新选项卡中.
new Actions(driver).sendKeys(Keys.CONTROL).sendKeys(Keys.NUMPAD1).perform();
driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL, Keys.TAB);
List<WebElement> links=driver.findElements(By.xpath("//a[contains(@href,'http')]"));
links.get(0).click();
Run Code Online (Sandbox Code Playgroud)
您需要使用该.switchTo(windowHandle);命令访问第二个选项卡.
在打开第二个选项卡之前 - 获取打开选项卡的windowHandle:
String mainWindow = driver.getWindowHandle();
Run Code Online (Sandbox Code Playgroud)
然后执行打开第二个选项卡的操作.现在,您需要知道第二个选项卡的句柄并将控制权切换到它:
Set<String> handles = driver.getWindowHandles();
for (String handle : handles) {
if (!handle.equals(mainWindow)) {
driver.switchTo().window(handle);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
您对第二个选项卡的操作现在将在第二个窗口中发生.完成后,需要再次与第一个标签进行交互:driver.switchTo().defaultContent();
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |