我有以下代码...

# instantiate web driver
profile = webdriver.FirefoxProfile("C:\\Users\\me\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\me.default")
driver = webdriver.Firefox(firefox_profile=profile)
driver.wait = WebDriverWait(driver, 5)

# browse to bot detection page
driver.get("https://botometer.iuni.iu.edu")

# click dropdown button on navbar
button = driver.wait.until(EC.presence_of_element_located((By.CLASS_NAME, "dropdown-toggle")))
button.click()

# click login link
login_link = driver.wait.until(EC.presence_of_element_located((By.LINK_TEXT, "Log In")))
login_link.click()

# switch to authorize window
new_window = driver.window_handles[1]
driver.switch_to.window(new_window)

# click authorize button
authorize_button = driver.wait.until(EC.presence_of_element_located((By.ID, "allow")))
authorize_button.click()
time.sleep(5)

...执行以下操作:
  • 实例化Web驱动程序
  • 导航到页面
  • 单击页面上的按钮,打开一个新窗口
  • 切换到新窗口
  • 单击新窗口中的另一个按钮

  • 不幸的是,单击第一个按钮后,新窗口将永远不会打开,并且程序会因以下错误而终止:
    selenium.common.exceptions.NoSuchWindowException: Message: Browsing context has been discarded
    

    今天之前一切正常,我不确定发生了什么。有任何想法吗?

    最佳答案

    它与selenium无关。手动尝试您的方案时,我在浏览器DevTools中得到了这个:

    Python Selenium : selenium. common.exceptions.NoSuchWindowException:消息:浏览上下文已被丢弃-LMLPHP

    这是一个网站问题。

    关于Python Selenium : selenium. common.exceptions.NoSuchWindowException:消息:浏览上下文已被丢弃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50845079/

    10-16 15:21