如何详细学习Java Playwright操作单选和多选按钮?

2026-04-29 02:215阅读0评论SEO优化
  • 内容介绍
  • 文章标签
  • 相关推荐

前言:玩转 Playwright 的单选和多选按钮

说真的, 刚打开 Playwright 的官方文档,我的脑子里全是“怎么点点点”。别慌,先喝口咖啡——或者茶,甚至是可乐——让思绪跟着键盘乱跳。下面这篇乱七八糟的笔记,就是我在 Java 环境里折腾单选和复选时留下的血泪史,放心去做...。

一、 环境准备

被割韭菜了。 1️⃣ java -version 确认 JDK 在手; 2️⃣ Maven/Gradle 随便挑一个,你爱咋装咋装; 3️⃣ 加入 Playwright 依赖:

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-29- 操作单选和多选按钮 - 下篇(详细教程)

    com.microsoft.playwright
    playwright
    1.45.0

别忘了跑 mvn playwright install不然浏览器会在黑暗中哭泣。

二、单选按钮到底怎么玩?

先说找到所有同名的 遍历它们,用 .isChecked 判断是否已经被选中,再决定要不要点,坦白说...。

List radios = page.locator.all;
for  {
    if ) {
        radio.click; // 点一下就完事儿
        System.out.println);
    } else {
        System.out.println;
    }
}

⚠️ 小技巧:有时候页面会用 JS 动态渲染,这时候加个 .waitFor 或者 .waitForSelector 能救命。

三、多选按钮——全员上阵还是挑挑拣拣?

复选框就更随性了。想全选?直接遍历全部并调用 click; PTSD了... 想只点未选中的?同样加个判断。

List checks = page.locator.all;
for  {
    boolean checked = cb.isChecked;
    // 只点未勾的
    if  {
        cb.click;
        System.out.println);
    } else {
        System.out.println);
    }
}

记得, 如果页面用了 “disabled” 或者 “readonly”,Playwright 会抛异常,这时可以先用 .evaluate 移除属性。

四、 实战 Demo:从本地 HTML 到自动化报告

尊嘟假嘟? 下面这段 HTML 是我随手写的演示页面放在本机路径下直接打开即可。


  

单选框 demo

五、 常见坑与“神操作”集合

  • Pitfall #1:页面滚动不到元素时点击报错——使用 .scrollIntoViewIfNeeded
  • Pitfall #2:异步加载导致定位空——配合 .waitForTimeout
  • Pitfall #3:重复点击导致状态反转——加个布尔锁或使用 .setChecked
  • Spoiler:如果你想一次性把所有单选都设为已选,可以直接施行 JS:
    page.evaluate.forEach");

六、产品对比表——随机插入一点噪音 🍿

#工具名称语言支持是否支持多浏览器并行备注/特色功能
1Selenium WebDriverC#, Java, Python…等十余种 老牌但慢热🦥✔️社区插件丰富,却缺原生多标签页支持。
2Cypress.io 仅 JS/TS 前端友好度 ★★★★★ 实时调试 UI 很炫,但不支持跨语言。
⚡️Playwright 官方出品, 多浏览器原生并发,定位 API 超灵活。适合追求“一站式”的小伙伴。
4Puppeteer Node.js 专属 轻量但功能略逊于 Playwright Chrome/Chromium 为主,只能间接支持 Firefox。

七、 结束语:给自己的代码一个拥抱 🤗

如果你现在已经把单选和复选玩得飞起,那恭喜你!如果还卡在「找不到元素」这一步,那就把浏览器打开,把 DevTools 挂上去,一边看一边敲代码。别忘了有时候抬头看看窗外的风景——主要原因是长时间盯着页面会让眼睛干涩,也会让思路变得像被压扁的面条,我整个人都不好了。。

* 本文纯属个人经验分享, 文中出现的任何产品信息均为随机插入, 挽救一下。 仅用于增加篇幅与噪音,请勿当真。


)

前言:玩转 Playwright 的单选和多选按钮

说真的, 刚打开 Playwright 的官方文档,我的脑子里全是“怎么点点点”。别慌,先喝口咖啡——或者茶,甚至是可乐——让思绪跟着键盘乱跳。下面这篇乱七八糟的笔记,就是我在 Java 环境里折腾单选和复选时留下的血泪史,放心去做...。

一、 环境准备

被割韭菜了。 1️⃣ java -version 确认 JDK 在手; 2️⃣ Maven/Gradle 随便挑一个,你爱咋装咋装; 3️⃣ 加入 Playwright 依赖:

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-29- 操作单选和多选按钮 - 下篇(详细教程)

    com.microsoft.playwright
    playwright
    1.45.0

别忘了跑 mvn playwright install不然浏览器会在黑暗中哭泣。

二、单选按钮到底怎么玩?

先说找到所有同名的 遍历它们,用 .isChecked 判断是否已经被选中,再决定要不要点,坦白说...。

List radios = page.locator.all;
for  {
    if ) {
        radio.click; // 点一下就完事儿
        System.out.println);
    } else {
        System.out.println;
    }
}

⚠️ 小技巧:有时候页面会用 JS 动态渲染,这时候加个 .waitFor 或者 .waitForSelector 能救命。

三、多选按钮——全员上阵还是挑挑拣拣?

复选框就更随性了。想全选?直接遍历全部并调用 click; PTSD了... 想只点未选中的?同样加个判断。

List checks = page.locator.all;
for  {
    boolean checked = cb.isChecked;
    // 只点未勾的
    if  {
        cb.click;
        System.out.println);
    } else {
        System.out.println);
    }
}

记得, 如果页面用了 “disabled” 或者 “readonly”,Playwright 会抛异常,这时可以先用 .evaluate 移除属性。

四、 实战 Demo:从本地 HTML 到自动化报告

尊嘟假嘟? 下面这段 HTML 是我随手写的演示页面放在本机路径下直接打开即可。


  

单选框 demo

五、 常见坑与“神操作”集合

  • Pitfall #1:页面滚动不到元素时点击报错——使用 .scrollIntoViewIfNeeded
  • Pitfall #2:异步加载导致定位空——配合 .waitForTimeout
  • Pitfall #3:重复点击导致状态反转——加个布尔锁或使用 .setChecked
  • Spoiler:如果你想一次性把所有单选都设为已选,可以直接施行 JS:
    page.evaluate.forEach");

六、产品对比表——随机插入一点噪音 🍿

#工具名称语言支持是否支持多浏览器并行备注/特色功能
1Selenium WebDriverC#, Java, Python…等十余种 老牌但慢热🦥✔️社区插件丰富,却缺原生多标签页支持。
2Cypress.io 仅 JS/TS 前端友好度 ★★★★★ 实时调试 UI 很炫,但不支持跨语言。
⚡️Playwright 官方出品, 多浏览器原生并发,定位 API 超灵活。适合追求“一站式”的小伙伴。
4Puppeteer Node.js 专属 轻量但功能略逊于 Playwright Chrome/Chromium 为主,只能间接支持 Firefox。

七、 结束语:给自己的代码一个拥抱 🤗

如果你现在已经把单选和复选玩得飞起,那恭喜你!如果还卡在「找不到元素」这一步,那就把浏览器打开,把 DevTools 挂上去,一边看一边敲代码。别忘了有时候抬头看看窗外的风景——主要原因是长时间盯着页面会让眼睛干涩,也会让思路变得像被压扁的面条,我整个人都不好了。。

* 本文纯属个人经验分享, 文中出现的任何产品信息均为随机插入, 挽救一下。 仅用于增加篇幅与噪音,请勿当真。


)