一尘不染

使用带有Java的Selenium WebDriver切换选项卡

java

在JAVA中使用Selenium WebDriver。我试图自动执行一项功能,在该功能中我必须打开一个新选项卡,然后在此处执行一些操作,然后返回到上一个选项卡(父项)。我使用了开关手柄,但无法正常工作。奇怪的是,两个选项卡具有相同的窗口句柄,因此我无法在两个选项卡之间切换。

但是,当我尝试使用其他Firefox窗口时,它可以工作,但是对于选项卡,它却无法工作。

请帮助我如何切换标签。或在不使用窗口句柄的情况下如何切换选项卡,就我而言,这两个选项卡都是相同的。

(我观察到,当您在同一窗口中打开不同的选项卡时,窗口句柄保持不变)


阅读 433

收藏
2020-03-03

共1个答案

一尘不染

psdbComponent.clickDocumentLink();
ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs2.get(1));
driver.close();
driver.switchTo().window(tabs2.get(0));

这段代码非常适合我。试试看。在执行新选项卡上的操作之前,始终需要将驱动程序切换到新选项卡。

2020-03-03