我可以告诉硒在不切换到它们的情况下在选项卡中运行吗?



首先,我要说的是,这是我在stackoverflow上的第一篇文章,所以请告诉我什么时候做错了什么。

做了一个项目,我打开一个火狐,创建多个标签,然后从左到右转到每个标签中的不同网站。目前,每次完成一个选项卡中的工作时,它都会切换到下一个选项卡并开始在那里工作。但是,我的客户希望浏览器做的是它停留在打开的第一个选项卡上,以便他可以查看显示的结果,而 Selenium 继续在后台的其他选项卡中工作。

我打开新标签

ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get((tabPosition)));

老实说,我什至不知道这是否可能。任何帮助,不胜感激。

明确的答案是否定的

Selenium需要将焦点聚焦到相应的窗口/选项卡/框架上,以处理该页面的元素并与之交互。

您客户的愿望不正确。驱动程序在后台工作。
您必须在硒转到其他选项卡后返回第一个选项卡。为此,请添加到代码字符串中:

String firstTab = driver.getWindowHandle();

在任何选项卡之后,始终将驱动程序切换到第一个选项卡:

for (String tab: driver.getWindowHandles()) {
    if (!tab.equals(firstTab)) {
        driver.switchTo().window(firstTab);
    }
}

相关内容

  • 没有找到相关文章