官网文档:https://www.drissionpage.cn/browser_control/browser_options
一、核心对象与初始化
1. 类定义
2. 初始化参数
参数名 | 类型 | 默认值 | 说明 |
---|
read_file | bool | True | 是否从ini文件读取配置(False 则使用默认配置) |
ini_path | str/Path | None | 指定ini文件路径(None 时读取内置配置文件) |
3. 创建示例
co = ChromiumOptions()
co = ChromiumOptions(read_file=False)
二、启动参数与命令行设置
1. 基础参数操作
方法名 | 作用 | 参数说明 |
---|
set_argument(arg, value=None) | 添加启动参数(如--headless ) | arg :参数名;value :参数值(无值参数传None ,删除参数传False ) |
remove_argument(arg) | 删除指定启动参数 | arg :参数名(无需值) |
clear_arguments() | 清空所有启动参数 | 无参数 |
2. 常用预设参数
方法名 | 作用 | 参数类型 | 默认值 | 示例 |
---|
headless(on_off=True) | 设置无头模式 | bool | True | co.headless(True) |
incognito(on_off=True) | 设置无痕模式 | bool | True | co.incognito() |
ignore_certificate_errors(on_off=True) | 忽略证书错误 | bool | True | co.ignore_certificate_errors() |
no_imgs(on_off=True) | 禁用图片加载 | bool | True | co.no_imgs(True) |
no_js(on_off=True) | 禁用JavaScript | bool | True | co.no_js(True) |
mute(on_off=True) | 静音模式 | bool | True | co.mute(True) |
三、路径与端口配置
1. 路径设置
方法名 | 作用 | 参数说明 |
---|
set_browser_path(path) | 设置浏览器可执行文件路径 | path :文件路径(字符串/Path对象) |
set_user_data_path(path) | 设置用户数据目录(配置文件) | path :目录路径 |
use_system_user_path(on_off=True) | 使用系统默认用户目录 | on_off :是否启用(默认True ) |
set_tmp_path(path) | 设置临时文件目录 | path :目录路径 |
set_cache_path(path) | 设置缓存目录 | path :目录路径 |
set_download_path(path) | 设置下载文件路径 | path :目录路径 |
set_paths(**kwargs) | 批量设置路径 | 支持参数:browser_path , user_data_path , download_path 等 |
2. 端口与地址
方法名 | 作用 | 参数说明 |
---|
set_local_port(port) | 手动设置本地端口 | port :端口号(整数/字符串) |
set_address(address) | 设置连接地址(格式ip:port ) | address :地址字符串(如127.0.0.1:9222 ) |
auto_port(on_off=True, scope=None) | 自动分配端口(多线程适用) | on_off :是否启用;scope :端口范围元组(如(5000, 6000) ,左闭右开) |
注意:
set_local_port()
、set_address()
与auto_port()
互斥,后调用的方法生效。- 多进程需通过
scope
指定端口范围避免冲突。
四、插件与用户配置
1. 插件管理
方法名 | 作用 | 参数说明 |
---|
add_extension(path) | 添加插件(支持解压目录或.crx) | path :插件路径 |
remove_extensions() | 移除所有已添加的插件 | 无参数 |
existing_only(on_off=True) | 仅操作已存在的插件(防报错) | on_off :是否启用(默认True ) |
2. 用户与偏好设置
方法名 | 作用 | 参数说明 |
---|
set_user(user='Default') | 设置用户配置文件夹名称 | user :文件夹名(如'Profile 1' ) |
set_pref(arg, value) | 设置浏览器偏好配置 | arg :配置项名称;value :配置值(如'profile.default_content_settings.popups': 0 ) |
remove_pref(arg) | 删除内存中的偏好配置 | arg :配置项名称 |
remove_pref_from_file(arg) | 删除配置文件中的偏好配置 | arg :配置项名称 |
clear_prefs() | 清空所有偏好配置 | 无参数 |
五、运行时与网络配置
1. 超时与重试
方法名 | 作用 | 参数说明 |
---|
set_timeouts(base=None, page_load=None, script=None) | 设置超时时间(秒) | base :默认超时;page_load :页面加载超时;script :JS运行超时 |
set_retry(times=None, interval=None) | 设置连接重试策略 | times :重试次数;interval :重试间隔(秒) |
2. 网络与加载策略
方法名 | 作用 | 参数说明 |
---|
set_load_mode(mode='normal') | 设置加载模式(提高效率) | mode :'normal' (默认)、'eager' (DOM就绪)、'none' (仅连接) |
set_proxy(proxy) | 设置浏览器代理(单次生效) | proxy :代理字符串(如'http://localhost:1080' ,不支持带认证代理) |
set_user_agent(user_agent) | 设置用户代理字符串 | user_agent :完整UA文本(如'Mozilla/5.0 (Windows)...' ) |
六、实验性配置(Chrome Flags)
方法名 | 作用 | 参数说明 |
---|
set_flag(flag, value=None) | 设置Chrome实验性参数(chrome://flags ) | flag :参数名;value :参数值(无值参数不传) |
clear_flags() | 清空内存中的实验性参数 | 无参数 |
clear_flags_in_file() | 清空配置文件中的实验性参数 | 无参数 |
七、状态保存与属性
1. 配置保存
方法名 | 作用 | 参数说明 |
---|
save(path=None) | 保存配置到ini文件 | path :文件路径(None 时保存到当前读取的文件) |
save_to_default() | 保存到内置ini文件 | 无参数 |
2. 只读属性(获取当前配置)
属性名 | 类型 | 说明 |
---|
address | str | 浏览器连接地址(格式ip:port ) |
browser_path | str | 浏览器可执行文件路径 |
user_data_path | str | 用户数据目录路径 |
timeouts | dict | 超时设置(base , page_load , script ) |
arguments | list | 启动参数列表 |
extensions | list | 插件路径列表 |
关键使用规则
- 配置生效时机:所有设置需在浏览器启动前完成(通过
Chromium(co)
传递配置对象)。 - 互斥方法:
- 端口相关:
set_local_port()
/set_address()
与auto_port()
互斥,后调用优先。 - 路径相关:
set_user_data_path()
与auto_port()
互斥(自动分配路径会覆盖手动设置)。
- 多进程限制:
auto_port()
不支持多进程,需通过scope
参数为每个进程分配独立端口范围。 - 插件兼容性:推荐使用解压后的插件目录,而非
.crx
文件(稳定性更高)。