如何使用 selenium-python 自动从弹出对话框中下载文件?


我们可以使用带 Python 的 Selenium Webdriver 自动从弹出对话框中下载文件。单击下载链接后,将出现一个对话框供用户选择各种选项来保存文件。

我们必须以编程方式配置下载操作所在路径,以便每次启动 Firefox 浏览器后,Firefox 的个人资料都能够在所需位置执行下载。

打开 Firefox 的地址栏,并输入 about:config 并按 Enter。所有浏览器首选项都将使用 编辑切换 按钮提供。我们将使用 Firefox 选项类设置浏览器的下载首选项。

示例

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
#object of Options class
op = Options()
#save file to path defined for recent download with value 2
op.set_preference("browser.download.folderList",2)
#disable display Download Manager window with false value
op.set_preference("browser.download.manager.showWhenStarting", False)
#download location
op.set_preference
("browser.download.dir","C:\Users\ghs6kor\Documents\Download")
#MIME set to save file to disk without asking file type to used to open file
op.set_preference
("browser.helperApps.neverAsk.saveToDisk",
"application/octet-stream,application/vnd.ms-excel")
#set geckodriver.exe path
driver = webdriver.Firefox(executable_path="C:\geckodriver.exe",
firefox_options=op)
driver.maximize_window()
#launch URL
driver.get("https://the-internet.herokuapp.com/download");
#click download link
l = driver.find_element_by_link_text("xls-sample1.xls")
l.click()

输出

文件已下载到声明的位置。

更新于: 01-Feb-2021

2K+ 浏览量

开启你的 职业

通过完成本课程获得认证

开始
广告
© . All rights reserved.