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

如何使用Selenium WebDriver关闭Chrome中的下载弹出窗口?

缑兴贤
2023-03-14

当你在Chrome中下载一个文件时,你会在屏幕底部弹出一个带有下载文件名称的窗口。如何在文件下载后使用Selenium Webdriver和Python关闭它?

共有1个答案

燕朝明
2023-03-14

这应该能起到作用:

from selenium import webdriver

driver = webdriver.Firefox() # or Chrome/Opera/Safari/Edge
# after
# your
# code
# to
# download
# file


### if the pop-up is a new window ###
driver.switch_to.window(driver.window_handles[1])
driver.close() # closes currently active window
driver.switch_to.window(driver.window_handles[0]) # switch back to main window

### if the pop-up is more like a text box overlaid on top of the page ###
driver.switch_to.alert.accept()

请注意,如果运行driver.close(),并且只有一个窗口或选项卡与Selenium打开,则Selenium会话将被丢弃,如果再次尝试运行driver.close(),则会出现如下错误:

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

为了避免这个问题,您可以使用driver.quit(),即使您已经关闭了Selenium会话,它也不会引发异常。一个更好的方法是使用with关键字来使用上下文管理器,这样即使在使用Selenium时遇到错误,也不需要自己手动关闭它。

希望这能帮上忙!

 类似资料:
  • 我正在使用java selenium来自动化我的应用程序。我正在下载PDF和解析。在我的应用程序中有多个使用PDF的测试用例。因此,当我下载第一个PDF时,chrome会在浏览器底部显示一个弹出,该文件是用文件名下载的,所以下次当我试图下载第二个PDF时,下载按钮就在这个弹出下面,不能单击下载选项。使用isDisplay方法检查状态,返回false和isEnabled返回true。尝试在另一个窗口

  • 我正在为Facebook编写一个代码,它从属性文件中获取URL、ID、密码,但在登录时,我会被提示“Facebook想要显示通知-允许-阻止”,在登录后我该如何使其如此(a)按ESP或Alt+F4并关闭弹出窗口或(B)查找通知并自行关闭通知。这是我使用的,但它不起作用。感谢任何帮助。

  • 问题内容: 我想关闭弹出窗口(已知的窗口名称),然后返回到原始窗口。我该怎么办?如果我无法获得窗口中关闭按钮的常量。那么有没有达到目标的一般行为? 问题答案: 你有没有尝试过:

  • 我有这段代码显示了一个按钮谁显示一个弹出窗口,我希望用户能够关闭弹出窗口点击它的外部时,它是打开的。

  • 我需要一个解决方案,使用SeleniumWebDriver从IE11中的web应用程序下载PDF文件。请找到下面我正在尝试处理的弹出窗口。 下面是我尝试处理IE弹出窗口的方法,但不幸的是没有任何帮助。 > 我试图使用下面的AutoIT脚本使用AutoIT来处理这个场景。 睡眠(5000) 本地$hIE=wingthandle(“[Class:IEFrame]”) 本地$hCtrl=ControlG

  • 问题内容: 我正在使用selenium webDriver为一个Web应用程序编写测试,并且遇到一种情况,当我尝试关闭浏览器时,我会弹出一个对话框:“确定吗?”页面要求您确认要离开- 输入的数据将迷路了。” 有2个按钮:“离开页面”和“停留在页面上” 如何单击这些按钮? 问题答案: 为我解决了这个问题