使用水豚或硒在不同的标签之间切换

问题描述 投票:5回答:2

我希望在浏览器选项卡之间切换以测试我正在测试的功能。但是,我无法做到这一点。尝试使用以下内容:

page.driver.browser.switch_to.window(page.driver.browser.window_handles.first)

想法是,当我在第二个选项卡上时,以上代码应将其带回到第一个选项卡。但是,这不起作用。

我也尝试使用此方法关闭第二个标签:

page.execute_script "window.close();"

但是这样做会做任何事情,该选项卡没有关闭,浏览器的整个窗口也没有关闭,因此看起来它什么也没做。

其他人遇到过这样的问题,您如何找到解决方案?我正在使用FireFox。

selenium rspec capybara
2个回答
10
投票

这是我关闭新标签页的方法。

def closeNewTabs
  window = page.driver.browser.window_handles

  if window.size > 1 
    page.driver.browser.switch_to.window(window.last)
    page.driver.browser.close
    page.driver.browser.switch_to.window(window.first)
    end
end

我可能需要关闭新选项卡时才调用此方法。


1
投票

我可以使用以下选项在选项卡之间切换

browser.switch_to.window browser.window_handles.last
© www.soinside.com 2019 - 2024. All rights reserved.