使用WebDriver单击新打开的选项卡中的链接

有人可以在这种情况下帮助我:

场景是:有一个网页,我只在新标签中打开所有指定的链接。 现在我想点击新打开的Tab中的任何一个链接。 尝试下面,但它只是单击主/第一个选项卡中的一个链接,而不是在新选项卡中。

new Actions(driver).sendKeys(Keys.CONTROL).sendKeys(Keys.NUMPAD1).perform(); driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL, Keys.TAB); List links=driver.findElements(By.xpath("//a[contains(@href,'http')]")); links.get(0).click(); 

你需要使用.switchTo(windowHandle); 命令访问第二个选项卡。

在打开第二个选项卡之前 – 获取打开选项卡的windowHandle:

 String mainWindow = driver.getWindowHandle(); 

然后执行打开第二个选项卡的操作。 现在,您需要知道第二个选项卡的句柄并将控制权切换到它:

 Set handles = driver.getWindowHandles(); for (String handle : handles) { if (!handle.equals(mainWindow)) { driver.switchTo().window(handle); break; } } 

您对第二个选项卡的操作现在将在第二个窗口中发生。 当你完成并需要再次与第一个标签交互: driver.switchTo().defaultContent();