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 webdriver

from 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

回到顶部