chrome_options.add_experimental_option()
全参数用法详解
方法定义
def add_experimental_option(name: str, value: Any) -> None
- 作用:添加Chrome的实验性配置选项
- 参数:
name
:选项名称(字符串)value
:选项值(字典/列表/布尔值等)
全部参数用法示例
1. 禁用自动化控制提示
options.add_experimental_option(
'excludeSwitches',
['enable-automation']
)
- 作用:隐藏"Chrome正受到自动测试软件控制"提示
- 注意:需配合
useAutomationExtension=False
使用
2. 禁用日志输出
options.add_experimental_option(
'excludeSwitches',
['enable-logging']
)
- 作用:禁止控制台输出
DevTools listening on...
日志
3. 设置浏览器首选项
prefs = {
'download.default_directory': '/path/to/downloads', # 下载路径
'credentials_enable_service': False, # 禁用密码保存弹窗
'profile.default_content_setting_values.notifications': 2 # 禁用通知
}
options.add_experimental_option('prefs', prefs)
- 常用首选项:
{ 'profile.managed_default_content_settings.images': 2, # 禁用图片 'intl.accept_languages': 'zh-CN', # 设置语言 'safebrowsing.enabled': True # 启用安全浏览 }
4. 移动设备模拟
mobile_emulation = {
"deviceName": "iPhone 12 Pro" # 预定义设备
# 或自定义参数:
# "deviceMetrics": {"width": 375, "height": 812, "pixelRatio": 3.0},
# "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X)..."
}
options.add_experimental_option('mobileEmulation', mobile_emulation)
5. 禁用自动化扩展
options.add_experimental_option(
'useAutomationExtension',
False
)
- 作用:关闭自动化扩展程序(配合
excludeSwitches
使用)
6. 保持浏览器打开
options.add_experimental_option("detach", True)
- 作用:脚本结束后不关闭浏览器窗口
7. 远程调试
options.add_experimental_option(
'debuggerAddress',
'127.0.0.1:9222'
)
- 前置条件:启动Chrome时添加参数:
chrome.exe --remote-debugging-port=9222
8. 实验性功能开关
options.add_experimental_option(
'w3c',
False
)
- 作用:禁用W3C协议(兼容旧版驱动)
9. 证书错误忽略
options.add_experimental_option(
'acceptInsecureCerts',
True
)
- 等效方法:
options.accept_insecure_certs = True
10. 浏览器静默模式
options.add_experimental_option(
'excludeSwitches',
['disable-popup-blocking', 'mute-audio']
)
- 作用:组合禁用弹窗+静音
参数关联关系
注意事项
- 优先级顺序:后添加的参数会覆盖同名配置
- 兼容性:不同Chrome版本支持的参数可能不同
- 官方文档:完整参数参考Chromium源码
通过
chrome://version/
可查看实际生效的配置参数
「小贴士」:点击头像→【关注】按钮,获取更多软件测试的晋升认知不迷路! 🚀