文章目录
解决方法
在初始化浏览器的时候,添加以下配置即可:
py
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)
完整的配置
使用如下程序初始化,可以避免很多问题:
py
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) # 等待元素最多10s
browser.set_page_load_timeout(10) # 页面10秒后强制中断加载
return browser
在需要下载文件时,只需要直接browser.get(网络文件URL)
即可直接下载文件到配置的"C:\Users\User4\Downloads"
路径下:
py
browser = get_browser()
browser.get("http://xxxx/xxx.pdf") # 这里会直接下载