Selenium 开关选项卡

由于 Firefox 不再支持 Control + T 选项卡,我开始使用 driver.execute_script("window.open('URL', 'new_window')")

我试图显示我打开的不同选项卡的标题并在它们之间切换。对于下面的示例,我希望输出为 facebook、google 并返回到 facebook。现在输出是 facebook、facebook 和 facebook。

from selenium import webdriver


driver = webdriver.Firefox()

driver.get("http://www.facebook.com/")

print(driver.title)


driver.execute_script("window.open('http://google.com', 'new_window')")

print(driver.title)


driver.switch_to.window(driver.window_handles[0])

print(driver.title)

更新:我尝试了以下代码,但仍然无法正常工作。


from selenium import webdriver


driver = webdriver.Firefox()

driver.get("http://www.facebook.com/")

print(driver.title)

window_before = driver.window_handles[0]


driver.execute_script("window.open('http://google.com', 'new_window')")

window_after = driver.window_handles[1]

driver.switch_to.window(window_after)

print(driver.title)


开满天机
浏览 233回答 3
3回答

摇曳的蔷薇

此命令始终将您带到最近打开的 chrome 新标签页。在 mac 上在最新版本的 Chrome 和 Pytest 上进行了测试。selenium.switch_to.window(selenium.window_handles[-1])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python