ChromeOptions
是 Selenium 提供的一种工具,用于配置和自定义 Chrome 浏览器的启动行为。通过设置 ChromeOptions
,可以添加扩展功能、设置无头模式、禁用弹窗等,满足多种测试需求。
1. 基本用法
初始化和应用 ChromeOptions
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 创建 ChromeOptions 对象
chrome_options = Options()
# 添加配置
chrome_options.add_argument("--start-maximized") # 启动时最大化窗口
# 使用配置初始化 WebDriver
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://www.example.com")
2. 常用 ChromeOptions
配置项
类别 | 配置项 | 说明 | 代码示例 |
---|---|---|---|
窗口相关 | --start-maximized | 启动时最大化窗口 | chrome_options.add_argument("--start-maximized") |
window-size=<宽>x<高> | 设置启动窗口大小 | chrome_options.add_argument("window-size=1920x1080") | |
--force-device-scale-factor=0.9 | 设置窗口缩放比例 | chrome_options.add_argument(" --force-device-scale-factor=0.9") | |
无界面模式 | --headless | 无头模式(无界面) | chrome_options.add_argument("--headless") |
--disable-gpu | 禁用 GPU 加速(通常与无头模式结合使用) | chrome_options.add_argument("--disable-gpu") | |
禁用功能 | --disable-popup-blocking | 禁用浏览器弹窗 | chrome_options.add_argument("--disable-popup-blocking") |
--disable-notifications | 禁用浏览器通知 | chrome_options.add_argument("--disable-notifications") | |
--disable-extensions | 禁用所有扩展程序 | chrome_options.add_argument("--disable-extensions") | |
--disable-infobars | 隐藏“自动化测试软件控制”提示 | chrome_options.add_argument("--disable-infobars") | |
HTTPS 相关 | --ignore-certificate-errors | 忽略 HTTPS 证书错误 | chrome_options.add_argument("--ignore-certificate-errors") |
代理设置 | --proxy-server=<代理地址> | 配置 HTTP 或 SOCKS 代理 | chrome_options.add_argument("--proxy-server=http://127.0.0.1:8080") |
用户配置 | user-data-dir=<路径> | 指定用户配置目录 | chrome_options.add_argument("user-data-dir=/path/to/profile") |
--lang=<语言代码> | 设置浏览器语言 | chrome_options.add_argument("--lang=en-US") | |
性能优化 | --blink-settings=imagesEnabled=false | 禁用图片加载 | chrome_options.add_argument("--blink-settings=imagesEnabled=false") |
隐私设置 | --incognito | 以无痕模式启动 | chrome_options.add_argument("--incognito") |
加载策略 | 配合 DesiredCapabilities 使用 | 设置页面加载策略:normal 、eager 、none | caps["pageLoadStrategy"] = "eager" |
扩展功能 | .add_extension(<路径>) | 加载 Chrome 扩展 | chrome_options.add_extension("path/to/extension.crx") |
实验性设置 | excludeSwitches=["enable-automation"] | 隐藏“Chrome 正在自动化测试”提示 | chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) |
useAutomationExtension=False | 禁用自动化扩展功能 | chrome_options.add_experimental_option("useAutomationExtension", False) | |
远程调试 | --remote-debugging-port | 浏览器远程调试 | options.debugger_address = "127.0.0.1:9528" |
用户配置文件 | --user-data-dir | 浏览器存储用户配置文件的目录 |
|
下载 | --download-default-directory | 设置默认下载目录 | options.download-default-directory= r"C:\Users\username\Downloads" |