Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以告诉selenium在不切换到选项卡的情况下在选项卡中操作吗?_Java_Selenium_Firefox_Selenium Webdriver_Browser Tab - Fatal编程技术网

Java 我可以告诉selenium在不切换到选项卡的情况下在选项卡中操作吗?

Java 我可以告诉selenium在不切换到选项卡的情况下在选项卡中操作吗?,java,selenium,firefox,selenium-webdriver,browser-tab,Java,Selenium,Firefox,Selenium Webdriver,Browser Tab,让我首先说,这是我第一次发表stackoverflow,所以请告诉我什么时候我做错了什么 我做了一个项目,打开一个firefox,创建多个标签,然后从左到右进入每个标签中的不同网站。此时,每当一个选项卡中的工作完成时,它就会切换到下一个选项卡并在那里开始工作。但是,我的客户希望浏览器保持在打开的第一个选项卡上,这样他就可以查看显示的结果,而selenium继续在后台的其他选项卡中工作 我用鼠标打开新选项卡 ArrayList<String> tabs = new ArrayList&

让我首先说,这是我第一次发表stackoverflow,所以请告诉我什么时候我做错了什么

我做了一个项目,打开一个firefox,创建多个标签,然后从左到右进入每个标签中的不同网站。此时,每当一个选项卡中的工作完成时,它就会切换到下一个选项卡并在那里开始工作。但是,我的客户希望浏览器保持在打开的第一个选项卡上,这样他就可以查看显示的结果,而selenium继续在后台的其他选项卡中工作

我用鼠标打开新选项卡

ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get((tabPosition)));
ArrayList tabs=新建ArrayList(driver.getWindowHandles());
driver.switchTo().window(tabs.get((tabPosition));
老实说,我甚至不知道这是否可能。感谢您的帮助。

明确的答案是否定的


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

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

String firstTab = driver.getWindowHandle();
在任何选项卡之后,始终将驱动程序切换到第一个选项卡:

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

是的,我想是的。谢谢你的回答:)@Narendrajput免费甜甜圈给你:)我在想Headless你能不能在打开的第一个选项卡上详细说明一下
,这样他就可以查看显示的结果了,当selenium继续在后台的其他选项卡中工作时
基本上我想说的是,selenium所做的工作应该在后台运行,以便客户能够查看第一个(或任何其他)选项卡中显示的内容,而selenium在其他选项卡中工作,而无需主动切换到它们。对不起,如果我不能很好地表达自己,英语不是我的第一语言。好的,您希望Selenium自己做工作(自动化测试)吗?客户自己做工作(浏览不同的网站)。客户只对最终结果感兴趣,测试用例是否通过/失败?