本文主要是介绍解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 解决方法
- 完整的配置
解决方法
在初始化浏览器的时候,添加以下配置即可:
option = webdriver.ChromeOptions()prefs = {"profile.managed_default_content_settings.images": 2, # 禁止加载图片# 'permissions.default.stylesheet': 2, # 禁止加载css# ====== 配置下载 ====='profile.default_content_settings.popups': 0, # 取消下载确认弹窗# 默认下载路径'download.default_directory': r"C:\Users\User4\Downloads", # 这个是自定义的下载路径"profile.default_content_setting_values.automatic_downloads": 1, # 允许多文件下载"download.prompt_for_download": False, # To auto download the file"download.directory_upgrade": True,"plugins.always_open_pdf_externally": True}option.add_experimental_option("prefs", prefs)browser = webdriver.Chrome(options=option)
完整的配置
使用如下程序初始化,可以避免很多问题:
from selenium import webdriver
def get_browser():option = webdriver.ChromeOptions()option.add_argument('--disable-gpu')option.add_argument('lang=zh_CN.UTF-8')# option.add_argument('headless') # 无界面prefs = {"profile.managed_default_content_settings.images": 2, # 禁止加载图片# 'permissions.default.stylesheet': 2, # 禁止加载css# ====== 配置下载 ====='profile.default_content_settings.popups': 0, # 取消下载确认弹窗# 默认下载路径'download.default_directory': r"C:\Users\User4\Downloads","profile.default_content_setting_values.automatic_downloads": 1, # 允许多文件下载"download.prompt_for_download": False, # To auto download the file"download.directory_upgrade": True,"plugins.always_open_pdf_externally": True}option.add_experimental_option("prefs", prefs)browser = webdriver.Chrome(options=option)browser.implicitly_wait(10) # 等待元素最多10sbrowser.set_page_load_timeout(10) # 页面10秒后强制中断加载return browser
在需要下载文件时,只需要直接browser.get(网络文件URL)
即可直接下载文件到配置的"C:\Users\User4\Downloads"
路径下:
browser = get_browser()browser.get("http://xxxx/xxx.pdf") # 这里会直接下载
这篇关于解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!