当前位置: 首页 > news >正文

Selenium Chrome Options 总结

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 使用设置页面加载策略:normaleagernonecaps["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浏览器存储用户配置文件的目录

chrome_options.add_argument('--user-data-dir="C:\selenium\ChromeProfile"')

下载

--download-default-directory

设置默认下载目录options.download-default-directory= r"C:\Users\username\Downloads"
http://www.lryc.cn/news/491322.html

相关文章:

  • 11、PyTorch中如何进行向量微分、矩阵微分与计算雅克比行列式
  • 【软件方案】智慧城市,智慧园区,智慧校园,智慧社区,大数据平台建设方案,大数据中台综合解决方案(word原件)
  • 用js实现点击抽奖
  • Django 自定义路由转换器
  • 【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?
  • 破解天然气巡检挑战,构建智能运维体系
  • go web单体项目 学习总结
  • Cocos游戏优化
  • wsl2的Ubuntu18.04安装ros和anaconda
  • 基于迅为RK3568开发板全国产平台,快速实现APP开机自启动技术分享
  • C++网络编程之多播
  • 不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)
  • 学习threejs,使用设置normalMap法向量贴图创建更加细致的凹凸和褶皱
  • Hive构建日搜索引擎日志数据分析系统
  • Vue 3 defineModel: 简化组件的双向绑定
  • 【Flutter】搭建Flutter开发环境,安卓开发
  • Linux中的共享内存
  • SpringBoot中忽略实体类中的某个属性不返回给前端的方法
  • ubuntu 安装proxychains
  • pytorch四种单机多卡分布式训练方法
  • archlinux 触摸板手势配置
  • djinn:1 靶场学习小记
  • kafka消费者组和分区数之间的关系是怎样的?
  • 【go】查询某个依赖是否存在于这个代理
  • 如何从postman中导出所有集合Collection
  • 在 Spring Boot 中实现多种方式登录(用户名、手机号、邮箱等)的不正经指南
  • .NET平台用C#添加动作到PDF文档
  • 大数据治理:概念、框架与实践应用
  • Vue.observable 全解析:Observable 是什么及使用场景剖析
  • MySQL基础知识大总结