Loading

python+selenium 实现文件自动化下载

记录Firefox和chrome实现文件下载

Firefox下载设置如下:

#在firefox中设置相关的下载参数,当模拟点击时,webdriver会自动保存对应的文档
fp=webdriver.FirefoxProfile()
#2表示自定义的文件夹,0表示保存到浏览器默认的文件夹
fp.set_preference('driver.download.folderList',0)
#是否显示开始
fp.set_preference('driver.download.manager.showWhenStarting',False)
#设置默认的保存文件夹
# fp.set_preference('driver.download.dir',os.getcwd())
#设置自动保存的文件类型
fp.set_preference('driver.helperApps.neverAsk.saveToDisk','application/vnd.ms-excel')

 


chrome下载设置如下:

#在chrome中设置相关的下载参数,当模拟点击时,webdriver会自动保存对应的文档
options=webdriver.ChromeOptions()
#设置下载路劲
prefs={'profile.default_content_settings.popups':0,'download.default_directory':'C\\'}
options.add_experimental_option('prefs',prefs)
driver=webdriver.Chrome(chrome_options=options)

 

如果出现提示下载文件保留还是清除:

#在chrome中设置相关的下载参数,当模拟点击时,webdriver会自动保存对应的文档
options=webdriver.ChromeOptions()
#设置下载路劲
path = get_path('cfg\Download')
# prefs={'profile.default_content_settings.popups':0,'download.default_directory':path}
# options.add_experimental_option('prefs',prefs)

prefs = {'download.prompt_for_download': False, 'download.default_directory': path, }
options.add_experimental_option("prefs", prefs)
wd= webdriver.Chrome(chrome_options=options)
wd.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': path}}
wd.execute("send_command", params)

 

posted @ 2021-03-10 13:47  猫鱼故巷  阅读(524)  评论(0)    收藏  举报