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

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

有一个网页,并且仅在新选项卡中打开所有指定的链接。现在,我试图单击新打开的选项卡中的任何一个链接。在下面尝试过,但是只单击了主/第一个选项卡中的一个链接,而不是新选项卡中的链接。

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();

回答:

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

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

String mainWindow = driver.getWindowHandle();

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

Set<String> handles = driver.getWindowHandles();  

for (String handle : handles) {

if (!handle.equals(mainWindow)) {

driver.switchTo().window(handle);

break;

}

}

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

以上是 使用WebDriver单击新打开的选项卡中的链接 的全部内容, 来源链接: utcz.com/qa/409903.html

回到顶部