我希望在浏览器标签之间切换我正在测试的功能。但是我无法做到这一点。尝试过使用以下内容:
page.driver.browser.switch_to.window(page.driver.browser.window_handles.first)
我的想法是,当我在第二个标签上时,上面的代码应该将它带回第一个标签。但是这不起作用。
我还试图用这个关闭第二个标签:
page.execute_script "window.close();"
但是这确实做了什么,标签没有关闭,整个浏览器窗口看起来也没有做任何事情。
如果有其他人遇到这样的问题,您是如何找到解决方案的?我正在使用FireFox。
答案 0 :(得分:7)
这是关闭新标签的方法。
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 :(得分:3)
我可以使用以下选项在标签之间进行切换
browser.switch_to.window browser.window_handles.last