加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 04:13:10 所属栏目:Java 来源:网络整理
导读:有人可以在这种情况下帮助我: 场景是:有一个网页,我只在新标签中打开所有指定的链接.现在我试图点击新打开的Tab中的任何一个链接.尝试下面,但它只是单击主/第一个选项卡中的一个链接,而不是在新选项卡中. new Actions(driver).sendKeys(Keys.CONTROL).send
有人可以在这种情况下帮助我:

场景是:有一个网页,我只在新标签中打开所有指定的链接.现在我试图点击新打开的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();

解决方法

你需要使用.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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读