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

总结

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

相关推荐
AI精钢2 小时前
OpenClaw Dashboard 更新头像踩坑记:从 broken data URL 到本地文件 Avatar
自动化·dashboard·avatar·openclaw·control ui
Shaidou_Data3 小时前
数据要素自动化实践:沙淘金数据清洗与治理技术方案详解
运维·自动化
秃头摸鱼侠3 小时前
OpenClaw + MCP 实战:从 0 搭建可复用自动化工作流
运维·自动化
IT研究所3 小时前
从工单到智能分析:AIGC运维助手应用价值
大数据·运维·数据库·人工智能·科技·低代码·自动化
SuniaWang4 小时前
Docker Compose 容器管理与自动化部署进阶指南
docker·容器·自动化
爱凤的小光4 小时前
Wireshark长时间循环抓包操作说明
网络·测试工具·wireshark
taxunjishu4 小时前
汇川PLC与RS422设备跨协议通讯方案——新能源储能电池PACK生产线案例
物联网·自动化
测试_AI_一辰4 小时前
AI系统测试实践:Tool执行与状态管理(Agent系统最容易出Bug的地方)
人工智能·ai·自动化·bug·ai编程