Selenium自动化 - headless无头浏览器配置 + Capability配置

文章目录

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1.headless 无头浏览器使用

Options概述

是一个配置浏览器启动的选项类,用于自定义和配置Driver会话

  • 常见使用场景:
    1.设置无头模式:不会显示调用浏览器,避免人为干扰的问题。
    2.设置调试模式:调试自动化测试代码(浏览器复用)

添加启动配置(arguments)参数

无头模式: --headless

窗体最大化 start-maximized

指定浏览器分辨率 window-size=1920x3000

java 复制代码
@Test
void option(){
    ChromeOptions chromeOptions = new ChromeOptions();
    // 无头模式
    chromeOptions.addArguments("--headless");
    // 窗体最大化
    chromeOptions.addArguments("start-maximized");
	//允许所有来源连接(高版本不配置会报403)
    options.addArguments("--remote-allow-origins=*");
	//初始化配置
    WebDriver driver = new ChromeDriver(chromeOptions);
    // 打开页面
    ......
}

2. capability 配置参数解析

capability概述

官网:https://www.selenium.dev/zh-cn/documentation/webdriver/

1.Capabilities是WebDriver支持的标准命令之外的扩展命令(配置信息)

2.配置web驱动的属性,如浏览器名称、浏览器平台等。

3.结合Selenium Grid完成分布式、兼容性等测试

capability 使用(java)

移动端capability

capability指定设备、App、平台、驱动

java 复制代码
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platformName", "Android");
caps.setCapability("deviceName", "Pixel_5");
caps.setCapability("app", "/path/to/app.apk");
caps.setCapability("automationName", "UiAutomator2");

AppiumDriver driver = new AndroidDriver(new URL("http://localhost:4723"), caps);

web自动化使用capability

capability设置浏览器启动参数

java 复制代码
@Test
void ceshiren(){
    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.setCapability("platformName", "mac");
    chromeOptions.setCapability("browserName", "chrome");
    //设置capability
    WebDriver driver = new ChromeDriver(chromeOptions);
}

远程 Web 自动化(Selenium Grid / 云平台)使用capability

capability设置期望的浏览器、平台、版本

java 复制代码
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("browserName", "chrome");
caps.setCapability("platformName", "MAC");   // 注意大写
caps.setCapability("browserVersion", "120");

// 合并 Chrome 专属选项
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
caps.merge(options); // 将 ChromeOptions 合并进 capabilities

WebDriver driver = new RemoteWebDriver(
    new URL("http://selenium-hub:4444/wd/hub"), 
    caps
);

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
Hui_AI72014 小时前
抖店铺货自动化:7个核心功能的技术实现方案
大数据·运维·人工智能·自动化·产品运营·ai写作·内容运营
冷小鱼14 小时前
2026 年企业级 CI/CD 自动化流水线搭建实战:从 GitOps 到 DevSecOps 的完整落地指南
ci/cd·自动化
云智慧AIOps社区15 小时前
轻帆云ITSM|制造业智能化转型,从流程重构看 IT 服务管理发展新趋势
运维·自动化·aiops·智能运维·itsm平台·it服务管理系统
闵孚龙15 小时前
Claude Code 技能系统全解析:AI Agent 自定义能力、SKILL.md、MCP 扩展、上下文预算与企业级自动化落地
运维·人工智能·自动化
weixin_3077791315 小时前
OCR图片文本提取代码
图像处理·python·opencv·自动化·ocr
写出高质量的博客15 小时前
Selenium常用方法
selenium·测试工具
程序员杰哥16 小时前
Python+requests+excel 接口自动化测试框架
自动化测试·软件测试·python·测试工具·测试用例·excel·接口测试
介一安全16 小时前
【Web安全】JWT常见安全漏洞总结
测试工具·安全·web安全·安全性测试
网安小学生(兼顾数据库版)16 小时前
主流SBOM生成工具横评:自动化、准确性与合规支持
网络·安全·自动化
Agent手记16 小时前
委外加工成本智能核算与利润分析方案:基于LLM+超自动化的端到端实践
运维·人工智能·ai·自动化