当前位置: 首页 > 知识库问答 >
问题:

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

益何平
2023-03-14
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();

共有1个答案

罗梓
2023-03-14

您需要使用.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;
    }
}
 类似资料:
  • 问题内容: 在这种情况下有人可以帮助我吗: 方案是: 有一个网页,并且仅在新选项卡中打开所有指定的链接。现在,我试图单击新打开的选项卡中的任何一个链接。在下面尝试过,但是只单击了主/第一个选项卡中的一个链接,而不是新选项卡中的链接。 问题答案: 您将需要使用命令来访问第二个选项卡。 在打开第二个选项卡之前-获取打开的选项卡的windowHandle: 然后执行打开第二个选项卡的操作。现在,您需要知

  • 问题内容: 新标签页正在打开,但URL链接未打开。 问题答案: 我检查了以下代码,它对我来说很好。我从这里找到了答案。

  • 问题内容: 如何使用Selenium WebDriver(又名Selenium 2)在现有的Firefox浏览器中打开新标签页? 问题答案: 以下代码将在新标签页中打开链接。 下面的代码将打开空白的新标签页。

  • 我看过很多答案 Selenium IDE:在新选项卡中打开并将焦点转移到新选项卡不工作 如何在新选项卡中打开链接等...关于这个问题的帖子,但没有一个是100%相关的,所以,我再次问这个。我需要在三个不同的选项卡中打开三个不同的链接:

  • 我有一个每行都有一个URL的文本文档。我希望每个URL都在一个新选项卡中打开。这是我到目前为止所拥有的: 这给了我一个错误: 回溯(最近一次调用last):驱动程序中第100行的文件“scraper.py”。execute\u script(“window.open(url,'new\u window')”)文件“C:\Python37\lib\site packages\selenium\web

  • 如何使用Java中的Selenium WebDriver(又名Selenium 2)在现有的Firefox浏览器中打开新的选项卡?