使用 webcli 无头浏览器浏览网页、读取页面内容、点击按钮、填写表单、截取屏幕截图并获取可访问性快照。
webcli — 无头浏览器 CLI. 您可以通过webcli 命令访问无头浏览器是一项面向实际任务的技能,主要用于使用它来浏览网站、 阅读内容、 与元素互动、 获取截图和获取访问权限。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
您可通过 webcli 命令访问一个无头浏览器。使用它可导航网站、读取页面内容、与元素交互、截取屏幕截图,以及获取可访问性快照。
npm install -g @erdinccurebal/webcli npx playwright install chromium
项目主页:https://webcli.erdinc.curebal.dev/ 代码仓库:https://github.com/erdinccurebal/webcli
webcli go# 导航至指定 URL(自动启动守护进程) webcli go -w networkidle # 等待网络请求完成 webcli go -t mytab # 在指定名称的标签页中打开 webcli back # 返回上一页 webcli forward # 前进到下一页 webcli reload # 重新加载当前页面
webcli source # 获取页面全部可见文本 webcli links # 列出所有链接(文本 + href) webcli forms # 列出所有表单及其输入字段 webcli html# 获取指定元素的 innerHTML webcli attr # 获取指定元素的属性值 webcli eval " " # 执行 JavaScript 并返回结果 webcli title # 获取页面标题 webcli url # 获取当前 URL webcli value # 获取 input / textarea 的值 webcli count # 统计匹配元素的数量 webcli box # 获取元素边界框(x, y, w, h) webcli styles [props..] # 获取计算后的 CSS 样式 webcli visible # 检查元素是否可见 webcli enabled # 检查元素是否启用 webcli checked # 检查复选框是否已勾选
webcli snapshot # 获取含引用标识(@e1、@e2…)的可访问性树 webcli snapshot --all # 包含非交互式元素 webcli snapshot --max-depth 5 # 限制树的最大深度
该快照为所有交互式元素分配确定性的引用标识。可在其他命令中使用这些引用:
webcli snapshot # 获取可访问性树:[button @e1] "Submit",[textbox @e2] "Email" webcli fill @e2 "user@example.com" # 使用引用填充 webcli click @e1 # 使用引用点击
webcli click "<可见文本>" # 根据可见文本点击元素 webcli click @e1 # 根据快照中的引用点击元素 webcli clicksel "" # 根据 CSS 选择器点击元素 webcli dblclick "<文本>" # 根据可见文本双击元素 webcli hover "<选择器>" # 将鼠标悬停在元素上 webcli fill "<选择器>" "<值>" # 填充输入字段(表单操作首选) webcli type "<文本>" # 键盘输入(仅对已聚焦元素有效) webcli select "<选择器>" "<值>" # 选择下拉菜单选项 webcli press Enter # 按下键盘按键(Enter、Tab、Escape 等) webcli focus "<选择器>" # 聚焦到指定元素 webcli check "<选择器>" # 勾选复选框 webcli uncheck "<选择器>" # 取消勾选复选框 webcli drag "<起始位置>" "<目标位置>" # 在两个选择器之间执行拖放操作 webcli upload "<选择器>" <文件路径> # 向 input[type=file] 元素上传文件 webcli scroll down 500 # 页面滚动(up/down/left/right,单位:像素)
webcli wait "<选择器>" # 等待 CSS 选择器对应的元素变为可见 webcli waitfor "<文本>" # 等待指定文本出现在页面上 webcli sleep 2000 # 暂停 N 毫秒
webcli screenshot # 截取整页截图(返回保存路径) webcli screenshot -o page.png # 保存为指定文件名 webcli screenshot --no-full # 仅截取视口区域(viewport-only) webcli screenshot --annotate # 截图并标注编号的交互式元素 webcli pdf # 将当前页面保存为 PDF webcli pdf -o page.pdf # 将 PDF 保存为指定文件名
webcli console on # 开始捕获控制台日志 webcli console off # 停止捕获 webcli console # 显示已捕获的控制台消息 webcli errors # 显示页面错误
webcli dialog accept # 接受 alert / confirm 对话框 webcli dialog accept "输入文本" # 向 prompt 对话框输入文本并确认 webcli dialog dismiss # 取消/关闭对话框
webcli frame "<选择器>" # 切换至指定 iframe webcli frame main # 切换回主框架(main frame)
webcli storage get # 获取全部 localStorage 数据 webcli storage get mykey # 获取指定键的值 webcli storage set mykey myvalue # 设置指定键的值 webcli storage clear # 清空全部 localStorage
webcli state save session.json # 保存 cookies + localStorage + sessionStorage webcli state load session.json # 恢复完整的浏览器状态
webcli viewport 1920 1080 # 修改视口尺寸 webcli useragent "<字符串>" # 修改 User-Agent 字符串 webcli device "iPhone 14" # 模拟设备(同时修改视口和 UA) webcli network on # 开始记录网络请求 webcli network off # 停止记录 webcli network # 显示网络请求日志
webcli cookie export # 将 cookies 导出为 JSON 格式 webcli cookie import <文件路径> # 从 JSON 文件导入 cookies
webcli tabs # 列出当前所有打开的标签页 webcli quit # 关闭当前标签页 webcli quit -t mytab # 关闭指定名称的标签页 webcli status # 显示守护进程信息(PID、运行时长、标签页列表) webcli stop # 停止守护进程并关闭浏览器
所有命令均支持以下选项:
-t, --tab — 指定目标标签页(默认为 "default")--json — 以结构化 JSON 格式输出结果--timeout — 设置命令超时时间(默认:30000 毫秒)webcli go — 导航至目标页面webcli snapshot — 获取带引用标识的可访问性树webcli click @e1、webcli fill @e2 "value"webcli snapshot 查看更新后的页面状态webcli screenshotwebcli go — 导航至目标页面webcli source — 读取页面全文本内容webcli click、webcli fill、webcli press 进行交互webcli source 查看操作结果webcli fill 填充输入字段——它能正确设置 React/Vue 中受控组件(controlled inputs)的值webcli click 或 webcli clickselwebcli press Enterwebcli sleep 1000,再执行 webcli source 验证结果webcli go https://site-a.com -t research webcli go https://site-b.com -t reference webcli source -t research # 读取指定标签页内容 webcli source -t reference
webcli sleep 2000,再重试webcli source 检查当前页面实际内容webcli stop 后重试命令webcli wait "" webcli source 或 webcli snapshot 读取页面内容webcli snapshot + 引用标识的方式webcli fill 而非 webcli typewebcli click(按可见文本)而非 webcli clicksel(按 CSS 选择器)webcli sleep,确保页面有足够时间完成更新相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习