我想使用 Selenium WebDriver 和 Python 在不同的选项卡中打开相当多的 URL。
我不确定出了什么问题:
driver = webdriver.Chrome()
driver.get(url1)
time.sleep(5)
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL+'t')
url2 = 'https://www.google.com'
driver.get(item2)
我查阅了教程,在我看来这段代码应该可以满足我的要求。实际发生的是浏览器打开,url1 按原样打开,新选项卡按原样打开,但是 url2 然后加载到原始选项卡而不是新选项卡(即使新选项卡看起来是活跃的)。
(我正在使用 Chrome,因为在使用 Firefox 时我根本无法让它加载任何 URL。Firefox 打开但没有获得请求的 URL。我试图找到解决方案但无济于事。)
我可以在我的代码中进行任何更改以使新 URL 在新选项卡中打开吗?
感谢您的帮助!
最佳答案
这是一个简单的方法,独立于平台:
代码:
driver.execute_script("window.open('http://google.com', 'new_window')")
切换回原来的标签页:
代码:
driver.switch_to_window(driver.window_handles[0])
检查当前标题以确保您在正确的页面上:
代码:
driver.title
对于其他一切,玩得开心!
关于python - Selenium 不会在新标签页中打开新 URL(Python 和 Chrome),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37088589/