python - 如何使用 selenium 和 python 禁用 Firefox 中的文件下载弹出窗口?

标签 python selenium-webdriver

我尝试使用 selenium 和 python 从网页下载一些报告

当我点击下载链接时,Firefox 显示保存/打开对话框

我使用的firefox配置文件配置如下

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.panel.shown", False)
profile.set_preference("browser.helperApps.neverAsk.openFile", "application/pdf,attachment/pdf")
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf,attachment/pdf")
profile.set_preference("browser.download.dir", "c:\\firefox_downloads\\")

self.browser = webdriver.Firefox(profile)

但它仍然显示消息框,

我变了

self.browser = webdriver.Firefox(firefox_profile=profile)

像上面一样,但没有机会>

谁能帮我解决这个问题吗?

最佳答案

我有一个适合我的小帮助函数。

它使用 chromedriver。

def driver_download(location_for_download):
    # options = Options()
    # options.headless = True
    chrome_options = webdriver.ChromeOptions()
    prefs = {'download.default_directory': location_for_download}
    chrome_options.add_experimental_option('prefs', prefs)
    # driver = webdriver.Chrome(chrome_options=chrome_options)
    driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver", chrome_options=chrome_options)
    return driver

注意:对于我的特定应用程序,我无法使用 headless 。但如果它是到文件的直接链接,它应该可以工作。

关于python - 如何使用 selenium 和 python 禁用 Firefox 中的文件下载弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58669396/

相关文章:

python - 递归错误 : maximum recursion depth exceeded while using thread

python - 在python中以表格格式打印列表

python - Django 返回不同于 python 解释器的算法结果

理解 pcap-ng 格式的 Python libpcap 包装器?

python - selenium python 无法与 phantomjs 一起使用

javascript - Safari 浏览器上的 Selenium 自动化,javascript :onClick event is not working on Safari browser

python-3.x - 用于选择多个条件的 Python 和 Selenium xpath

python - Django Celery 任务成功但客户端等待

java - 一种使用 Java Robot API 和 Selenium WebDriver by Java 进行文件上传的解决方案

java - URL 无法使用 WebDriver 打开