如何使用Capybara在浏览器中打开多个标签?

时间:2013-01-24 06:02:03

标签: ruby capybara selenium-webdriver

我需要在一个浏览器中打开多个标签,我需要切换所有标签。

给我你的建议。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我在水豚中并不那么强壮。所以,我正在给出使用selenium在标签之间切换的解决方案。

对于某个实例,您单击网页中的按钮,它将打开一个新页面。

新页面可能会在new tab in the same browser windowin a new browser window中打开。这不受硒的控制。它将由您使用的浏览器控制。

对于一个实例,请使用firefox,转到tools->ptions-> tabs-> open new windows in a new tab instead检查选项。例如,如果单击一个按钮,它将仅在同一浏览器窗口的新选项卡中打开一个页面。为了便于您取消选中,它意味着它将在新的浏览器窗口中打开一个页面。同样,每个浏览器都有自己的设置。

试试这段代码:

 new Actions(driver)
.sendKeys(driver.findElement(By.tagName("html")), Keys.CONTROL)
.sendKeys(driver.findElement(By.tagName("html")), Keys.NUMPAD2)
.build().perform();

在上面的Keys.NUMPAD2中指的是您将移动到会话中的第二个选项卡。 您可以分别通过提供NUMPAD3,NUMPAD4等转移到第三,第四等。在这里我使用的是Windows操作系统,如果你在其他操作系统中使用他们的快捷方式。

我希望这会对你有所帮助。