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
);

总结

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

相关推荐
我科绝伦(Huanhuan Zhou)20 分钟前
分享一个服务故障自愈系统
运维·人工智能·自动化
ZC跨境爬虫1 小时前
极验滑动验证码自动化实战:背景提取、缺口定位与Playwright滑动模拟
前端·爬虫·python·自动化
Agent产品评测局4 小时前
企业发票管理自动化落地,验真归档全流程实现方法:2026企业级智能体选型与实测指南
运维·网络·人工智能·ai·chatgpt·自动化
DYuW5gBmH5 小时前
Anthropic 开源 Bloom:基于 LLM 的自动化行为评估框架
运维·microsoft·自动化
向量引擎6 小时前
AI Agent 安全元年:OpenClaw 投毒事件如何改变整个生态安全标准,
运维·人工智能·安全·自动化·aigc·api调用
ZC跨境爬虫6 小时前
极验滑动验证码自动化实战(ddddocr免费方案):本地缺口识别与Playwright滑动模拟
前端·爬虫·python·自动化
cxr8286 小时前
龙虾长程任务测试 —— 撰写零人公司自动化运营实践研究报告
运维·人工智能·自动化·openclaw
骆驼爱记录7 小时前
3步轻松去除WPS段落左侧符号
自动化·word·wps·新人首发
大汉堡玩测试7 小时前
抓包工具Whistle的安装与使用
测试工具
骆驼爱记录8 小时前
表格居中无效的5大原因及解决方案
自动化·word·wps·新人首发