Selenium不会在新标签页(Python和Chrome)中打开新的URL
我想使用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吗?
谢谢你的帮助!
回答:
ChromeDriver中存在一个错误,导致ctrl / command + T无法正常工作:
- 我无法在ChromeDriver中打开新标签页
你可以做什么,作为一种解决方法,是在新标签中打开一个链接,然后 切换到一个新的窗口 使用switch_to.window()
。工作样本:
from selenium import webdriverfrom selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.google.com")
# open a link in a new window
actions = ActionChains(driver)
about = driver.find_element_by_link_text('About')
actions.key_down(Keys.CONTROL).click(about).key_up(Keys.CONTROL).perform()
driver.switch_to.window(driver.window_handles[-1])
driver.get("https://stackoverflow.com")
现在,最后一个操作driver.get()
将在新打开的标签页中执行。
以上是 Selenium不会在新标签页(Python和Chrome)中打开新的URL 的全部内容, 来源链接: utcz.com/qa/434292.html