文章目录

  • 解决方法
  • 完整的配置

解决方法

在初始化浏览器的时候,添加以下配置即可:

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 webdriverdef 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") # 这里会直接下载