【发布时间】:2023-03-29 19:23:01
【问题描述】:
我希望在浏览器选项卡之间切换我正在测试的功能。但是,我无法做到这一点。已尝试使用以下内容:
page.driver.browser.switch_to.window(page.driver.browser.window_handles.first)
我的想法是,当我在第二个选项卡上时,上面的代码应该将它带回第一个选项卡。但是这不起作用。
我也只是尝试使用以下方法关闭第二个标签:
page.execute_script "window.close();"
但这确实有任何作用,选项卡没有关闭,整个浏览器窗口也没有关闭,因此看起来它什么也没做。
有没有其他人遇到过类似的问题,您是如何找到解决方案的?我正在使用 FireFox。
【问题讨论】:
-
您的方法/代码通常是正确的(至少它在本地对我有用)。有两件事可能会导致您出现问题:(1)当打开一个新选项卡时,Selenium-Webdriver 不会自动切换到它 - 即我猜您的代码正在从原始选项卡切换到相同的原始选项卡和(2 ) 它看起来不像你可以
window.close();原始标签 - 即只有在你切换到第二个标签时它才会做一些事情。