我需要在单个浏览器中打开多个选项卡,并且需要切换所有选项卡。
给我你的建议。提前致谢。
我对水豚没那么强。所以,我正在提供使用硒在标签之间切换的解决方案。
例如,您单击网页中的按钮,它将打开一个新页面。
新页面可能会在new tab in the same browser window
或中打开in 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 操作系统,如果您在其他操作系统中使用它们的快捷方式。
我希望这能帮到您。
你可以在 Ruby 中使用这个精确的函数:
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)