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

总结

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

相关推荐
linyanRPA10 小时前
影刀RPA店群自动化实战:多店铺活动自动报名与促销管理架构设计
运维·自动化·办公自动化·rpa·python脚本·爬虫自动化·店群自动化
小鹿研究点东西10 小时前
直播带货长视频AI自动剪辑开播:一场直播如何反复利用?
ffmpeg·自动化·音视频·语音识别
ting945200016 小时前
SellerClaw 全栈技术深度拆解:基于多智能体集群的跨境电商全链路自动化系统实现
运维·自动化
xiaobai17816 小时前
pytest+playwright实现UI自动化(4)-上夹具fixture
ui·自动化·pytest·playwright
可可南木17 小时前
3070文件格式--21--fixture文件 3
功能测试·测试工具
天空属于哈夫克319 小时前
企微 RPA 接口开放:无需官方权限,外部群自由操作
自动化·企业微信·api
一只小白00019 小时前
【JVM | 第五篇】—— 深入理解垃圾回收
jvm·测试工具
施努卡机器视觉20 小时前
电子水泵自动化生产线如何选型?SNK施努卡一站式集成方案解析
自动化
IT阿瑞21 小时前
制造业 AI Agent 实施服务商横评:2026 年企业级自动化选型全景分析
大数据·人工智能·自动化
2501_9419820521 小时前
基于自动化控制架构的企业微信群消息管理系统设计
架构·自动化·企业微信