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

使用Selenium WebDriver和Java切换选项卡

裴承安
2023-03-14

将Selenium WebDriver与Java结合使用。我正在尝试自动化一个功能,其中我必须打开一个新的选项卡,在那里做一些操作,并回到以前的选项卡(父)。我用了开关手柄,但它不起作用。还有一件奇怪的事情,两个选项卡有相同的窗口句柄,因此我不能在选项卡之间切换。

然而,当我尝试使用不同的Firefox窗口时,它都能工作,但是对于tab它就不行了。

请帮帮我.我如何切换标签。或者我如何切换选项卡而不使用窗口句柄,因为在我的例子中,两个选项卡的窗口句柄是相同的。

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

共有1个答案

岳正阳
2023-03-14
    psdbComponent.clickDocumentLink();
    ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
    driver.switchTo().window(tabs2.get(1));
    driver.close();
    driver.switchTo().window(tabs2.get(0));

这个代码对我来说非常有效。试试看。你总是需要切换你的驱动到新标签,然后你想做一些新标签。

 类似资料:
  • 问题内容: 在JAVA中使用Selenium WebDriver。我试图自动执行一项功能,在该功能中我必须打开一个新选项卡,然后在此处执行一些操作,然后返回到上一个选项卡(父项)。我使用了开关手柄,但无法正常工作。奇怪的是,两个选项卡具有相同的窗口句柄,因此我无法在两个选项卡之间切换。 但是,当我尝试使用其他Firefox窗口时,它可以工作,但是对于选项卡,它却无法工作。 请帮助我如何切换标签。或

  • 我需要在浏览器选项卡之间切换,使用以下代码, 它有时只是正常工作,但有时表现出异常。有谁能建议我使用Java在一个窗口内切换选项卡的其他说明吗。

  • 问题内容: 所以我有一个包含3个项目的项目: 在的中: 每次单击某个项目时,都会调用一个骨干路由器,该骨干路由器将调用,而后者又将调用一个。 我仍在努力解决基本上存在单向数据流这一事实。而且我习惯直接操作DOM。 我想做的是将类添加到单击的选项卡中,并确保将其从非活动类中删除。 我所知道的CSS技巧,你可以使用属性和不同的造型适用于为属性或。 骨干路由器已经获取了变量并调用正确的页面。我只是不确定

  • 我写了示例代码,但它不起作用。还观察到2个选项卡只有1个窗口句柄。如何再次切换到父页签?

  • 我正在打开一个页面,执行一些操作,我正在使用这段代码在下一个选项卡中打开另一个链接 字符串url=“https://qa.logfireapps.com/lgf_700_qa_rf”; String args1=String.format(“window.open(”%s“,”%s“);”,url,“new”); ((JavascriptExecutor)driver).ExecuteScript

  • 我正在尝试播放以下网站的视频(使用JUnit)-Day01。http://www.itelearn.com/live-training/security-testing-live-training我试图实现的是,在播放视频后,我将拍摄一张屏幕截图,以证明视频播放正确。点击Day01视频后,它会在一个新窗口中打开——当我查看代码时,我意识到他们使用了iFrame。我可以关闭此视频窗口,但无法播放/暂