【问题标题】:Selenium multiple tabs "error: no such window: target window already closed" in python [duplicate]python中的Selenium多个选项卡“错误:没有这样的窗口:目标窗口已关闭” [重复]
【发布时间】:2020-09-19 16:30:16
【问题描述】:

所以我有了第一个标签;主选项卡。我想使用 selenium 打开多个标签,一旦他们的任务完成,关闭它们直到我们回到原来的第一个标签

url = "https://www.google.com/"
i=4
for each in reversed(range(i, 0, -1)):
    print(each)
    driver.execute_script(f"window.open('{url}');")
    driver.switch_to.window(driver.window_handles[each])
    #do stuff
    driver.close()
    driver.switch_to.window(driver.window_handles[each-1]) 

我收到以下错误:

selenium.common.exceptions.NoSuchWindowException: Message: no such window: target window already closed from unknown error: web view not found

我知道它与每个选项卡的索引值有关,其中 0 将是初始选项卡,如果我错了,请纠正我,但我无法让它正常工作。# 正常。

我能做的最好的就是让它随机关闭每个标签,直到剩下 2,然后当达到 @ 的值时突然关闭它们(没有标签离开,退出浏览器) 987654323@

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    您的问题从这里开始“driver.close()” - close 方法关闭当前窗口 - 无论您有多少标签,但它不会杀死 chrome 实例(drive.quit() - 完成这项工作)。如果要关闭当前选项卡,可以使用类似的解决方法

    # Close current tab for windows/linux
    driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'w')
    
    # Close current tab for Mac
    driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 'w')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多