【问题标题】:Python: Selenium New TabPython:硒新标签
【发布时间】:2019-07-03 15:43:21
【问题描述】:

我正在使用带有 geckodriver 0.24.0 的 Firefox v67.0.4,我尝试了几种方法来打开一个新选项卡,但 Firefox 唯一要做的就是打开一个新的窗口

有没有其他方法可以在这两个旁边打开新标签:

1.)

driver.execute_script("window.open('');")
driver.switch_to.window(driver.window_handles[tab_index])
driver.get(link)

2.)

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
driver.switch_to.window(driver.window_handles[tab_index])
driver.get(link)

是我做错了什么还是当前版本的错误?

【问题讨论】:

  • 尝试改用这个:window.open('about:blank', '_blank');
  • 这也会打开一个新窗口
  • Firefox 中有一个选项可能会影响这一点……类似于“在选项卡中打开链接而不是新窗口”。默认情况下应该是打开的......也许检查一下浏览器启动时设置的内容。
  • @saitam 您在手动操作时是否得到相同的操作?
  • @pcalkins:谢谢我检查了它,默认设置为browser.link.open_newwindow = in tab。 @VardhmanPatil:手动ctrl + t 打开一个新标签,vtrl + n 一个新窗口

标签: python selenium tabs


【解决方案1】:

我遇到了同样的问题。这是我用来打开一个新标签并切换到它的代码:

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
windows = browser.window_handles
time.sleep(1)
driver.switch_to.window(windows[tab_index])

但从 Firefox 68.0 开始,您还需要添加此处显示的代码:

How to fix Selenium Webdriver not opening a new tab on Firefox 68.0 and above?

【讨论】:

    猜你喜欢
    • 2012-05-13
    • 2021-08-25
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 2012-10-04
    • 1970-01-01
    • 2020-08-13
    相关资源
    最近更新 更多