什么是 prefs 参数?
prefs(Preferences)是 Chrome 浏览器的用户配置文件参数,用于控制浏览器的底层行为,例如:
禁用图片、CSS、JavaScript 等资源加载
设置默认下载路径
配置弹窗拦截、通知权限等
自定义浏览器缓存策略
通过 undetected_chromedriver 的 uc.ChromeOptions(),我们可以直接注入这些配置,无需手动修改浏览器设置。
prefs 参数的使用步骤
以下是一个完整的 prefs 配置流程:
- 导入库并创建 ChromeOptions 对象
import undetected_chromedriver as uc
# 创建 ChromeOptions 对象
options = uc.ChromeOptions()
2. 定义 prefs 字典
prefs = {
# 禁用图片加载(1-允许,2-禁止)
"profile.managed_default_content_settings.images": 2,
# 设置默认下载路径(需替换为实际路径)
"download.default_directory": "D:/downloads",
# 禁止弹窗拦截(0-允许弹窗,1-拦截弹窗)
"profile.default_content_setting_values.popups": 0,
# 禁用 JavaScript(0-允许,1-禁止)
"profile.managed_default_content_settings.javascript": 1
}
3. 将 prefs 注入浏览器配置
options.add_experimental_option("prefs", prefs)
4. 初始化浏览器并验证配置
# 启动浏览器(附加配置)
driver = uc.Chrome(options=options)
# 打开测试页面(例如文件下载页)
driver.get("https://example.com/download")
完整代码示例
import undetected_chromedriver as uc
# 创建 ChromeOptions
options = uc.ChromeOptions()
# 配置 prefs
prefs = {
"profile.managed_default_content_settings.images": 2, # 禁用图片
"download.default_directory": "D:/auto_downloads", # 下载路径
"download.prompt_for_download": False, # 禁用下载提示
"profile.default_content_setting_values.popups": 0 # 允许弹窗
}
# 注入 prefs
options.add_experimental_option("prefs", prefs)
# 启动浏览器
driver = uc.Chrome(
options=options,
headless=False, # 可视化模式(调试时可关闭)
use_subprocess=True
)
# 测试下载功能
driver.get("https://www.example.com/download_file.zip")
driver.quit()
总结
通过 uc.Chrome() 的 prefs 参数,开发者可以灵活控制 Chrome 的底层行为,显著提升自动化效率。无论是爬虫优化还是测试脚本的编写,这一功能都能大幅简化配置流程。建议收藏本文的配置表格,快速查找常用参数!
关键词: uc.Chrome, prefs参数, undetected_chromedriver配置, 禁用图片, 设置下载路径
希望这篇博客能帮助你轻松掌握 prefs 的使用技巧!如果有问题,欢迎在评论区留言讨论!