【发布时间】:2018-06-13 19:44:11
【问题描述】:
我有以下代码...
# 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
在今天之前它运行良好,但我不确定发生了什么。有什么想法吗?
【问题讨论】: