当前位置: 首页 > 知识库问答 >
问题:

蟒蛇硒:硒。常见的例外情况。NoSuchWindowException:消息:已放弃浏览上下文

庄星汉
2023-03-14

我有以下代码。。。

# 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)

...执行以下操作:

  1. 实例化web驱动程序
  2. 导航到页面
  3. 点击页面上的按钮,打开一个新窗口
  4. 切换到新窗口
  5. 单击新窗口中的另一个按钮

不幸的是,单击第一个按钮后,新窗口从未打开,程序终止时出现以下错误:

selenium.common.exceptions.NoSuchWindowException: Message: Browsing context has been discarded

今天之前一切都很好,我不知道发生了什么。有什么想法吗?

共有2个答案

全彬
2023-03-14

这不是网站问题。通常它会以“noSuchWindowException”的形式发出警报,对吗?那么浏览器窗口在哪里,它不存在。您已关闭选项卡/窗口。基于此,根据您的情况找出确切原因。

潘琪
2023-03-14

它与硒无关。在手动尝试场景时,我在浏览器DevTools中得到了以下信息:

这是一个网站问题。

 类似资料:
  • 我正在使用sublime来编写python脚本,下面的代码是为python中的硒使用webdriver_manager包自动安装驱动程序 代码运行良好,但我得到了类似的警告 如何修复这样的错误?

  • 我有一个在大学里练习的代码。我已经安装了所有的软件包,但我不知道问题出在哪里。这将是一个小铲运机,只是测试一下。。。 错误消息说: 回溯(最近一次呼叫最后一次): 浏览器。通过xpath(“//*[@id=\”过滤器控制容器\“]/div[3]/div/div/ul/li[4]/a/span”)查找元素。单击文件“C:\Python27\lib\site packages\selenium\web

  • 我正在尝试使用本教程从一个使用selenium and beautiful soup的站点提取房地产列表信息:https://medium.com/@ben.sturm/scraping-house-listing-data-using-Selenium-and-Beautiful Soup-1CBB94BA9492 目的是在找到“下一页”按钮之前收集第一页的所有href链接,导航到下一页并收集该

  • 这是我的全部剧本 运行时产生: 我刚刚经历了更新的一切: 壁虎河:0.29.0 我已经搜索了几个关于同一个错误的问题,但仍然完全不知道这里的问题是什么。我几乎什么都没做。这是Selenium Python的开始示例,或者至少是开始示例的开始。

  • 我试图选择和控制www.ziprecruiter.com网站上的下拉菜单使用硒称为半径。因为我是初学者,我似乎不明白为什么我不能控制这个下拉半径菜单。我尝试使用查找ID,名称,Xpath和选择,但似乎没有工作。我想在半径下拉菜单中选择选项“25英里”,有什么想法吗?

  • 我有几个问题。当我打开新的Selenium实例时,我希望继续使用相同的实例,但请求不同。 例如:当我打开此url https://example.com/login?token=1231232h31g23g123 和用户登录时,之后我想继续相同的实例或会话不同的方法。 我的main.py代码: 和我的硒实例: 如何继续使用相同的实例直到退出? 提前感谢!