浏览器自动化利器:pi-skills的browser-tools如何用Chrome DevTools Protocol驱动真实浏览器
浏览器自动化利器pi-skills的browser-tools如何用Chrome DevTools Protocol驱动真实浏览器【免费下载链接】pi-skillsSkills for pi coding agent (compatible with Claude Code and Codex CLI)项目地址: https://gitcode.com/gh_mirrors/pi/pi-skillsbrowser-tools是 pi-skills 项目GitHub 加速计划 pi 开源的编码 Agent 技能库中的一个浏览器自动化技能。它基于 Chrome DevTools ProtocolCDP协议通过 Node.js puppeteer-core 连接运行在:9222端口的真实 Chrome 浏览器让 AI Agent 能够导航网页、执行 JavaScript、截图、抓取 Cookies、交互式选取页面元素甚至把动态渲染的网页内容提取为 Markdown。与无头浏览器不同它驱动的是你肉眼可见的浏览器天然适合前端测试、动态内容抓取和登录态调试场景。为什么选择 Chrome DevTools Protocol 浏览器自动化大多数爬虫工具只能获取服务端返回的静态 HTML而大量现代网页SPA、数据看板、懒加载列表的内容全靠 JavaScript 动态渲染。browser-tools 的思路是不模拟浏览器而是直接接入一个真实的 Chrome 实例。它的工作链路非常清晰browser-start.js以--remote-debugging-port9222参数启动 Chrome开启远程调试端口其余每个脚本导航、执行脚本、截图等通过 puppeteer-core 的browserURL连接到同一个浏览器Agent 根据用户指令选择对应工具形成看页面 → 理解结构 → 操作 → 验证的完整闭环这种设计带来了两个显著优点✅所见即所得浏览器窗口真实可见人和 Agent 可以在同一个页面上协作人负责点一下告诉我选哪个Agent 负责批量操作✅保留真实环境支持--profile拷贝用户默认 Chrome 配置登录态、Cookies 全部保留轻松处理需要登录的页面一键安装browser-tools 快速上手步骤整个安装只需两条命令。第一步克隆仓库并进入技能目录技能说明见 browser-tools/SKILL.mdgit clone https://gitcode.com/gh_mirrors/pi/pi-skills cd pi-skills/browser-tools第二步安装 Node.js 依赖核心依赖清单见 package.jsonnpm install完成。接下来就可以让 pi-coding-agent、Claude Code 或 Codex CLI 直接调用这套工具了——各客户端的接入方式在 README.md 的 Installation 一节中有详细说明。 前提条件系统已安装 Chrome 浏览器和 Node.js。核心工具体系7 个脚本覆盖浏览器操作全流程browser-tools 目录下的每个.js脚本都是一个独立工具职责单一、组合灵活工具脚本功能典型命令browser-start.js启动带远程调试端口的 Chromebrowser-start.js --profilebrowser-nav.js导航到指定 URL支持新标签页/强制刷新browser-nav.js https://example.com --newbrowser-eval.js在激活标签页执行任意 JavaScriptbrowser-eval.js document.titlebrowser-screenshot.js截取当前视口返回临时文件路径browser-screenshot.jsbrowser-pick.js交互式元素选择器点击页面元素获取信息browser-pick.js 点击提交按钮browser-cookies.js列出当前标签页全部 Cookies 及属性browser-cookies.jsbrowser-content.js抓取页面正文并转为 Markdownbrowser-content.js https://example.com下面介绍其中三个最有特色的工具。browser-pick让人指哪Agent 打哪这是整个技能中最具协作感的工具。执行 browser-pick.js 后页面底部会浮现一个提示横幅鼠标悬停时目标元素会被蓝色高亮框实时追踪普通点击选中单个元素并立即结束Cmd/Ctrl 点击多选元素按 Enter 确认Esc取消选择选中后返回的不仅是 CSS 选择器还有标签名、id、class、文本内容、500 字符的 outerHTML 片段以及完整的父级 DOM 路径。当页面结构复杂、Agent 拿不准该操作哪个元素时这一步能彻底消除歧义——用户亲手指认结果 100% 准确。browser-content动态页面一键转 Markdownbrowser-content.js 展示了 CDP 的深度用法它不只是打开页面等加载而是通过puppeteer的 CDP 会话直接调用DOM.getDocument拿到完整渲染后的 DOM 树即使页面有 TrustedScriptURL 限制也能工作再用 Mozilla Readability 识别正文区域最后经 Turndown 转成干净的 Markdown 输出。这意味着一篇需要 JavaScript 才能显示的万字长文一条命令就能变成 Agent 可直接阅读的结构化文本还内置了 30 秒全局超时保护不会卡死。browser-eval把整页 DOM 变成可编程对象browser-eval.js 在激活标签页执行任意表达式且代码运行在async 上下文中支持await。SKILL.md 中还附带了效率指南教你如何用一次调用完成复合操作例如用 IIFE 包裹多行代码一次调用内完成读取数据 → 点击按钮 → 返回结果批量点击多个元素避免逐个发起调用用JSON.stringify一次性提取应用的完整状态比分、状态、列表项配合sleep 0.5等待 DOM 更新后再读取基本覆盖了所有与动态页面交互的需求。典型使用场景清单前端测试到动态数据抓取根据 SKILL.md 的When to Use章节browser-tools 的适用场景可以总结为 5 类前端测试在真实浏览器中验证 UI 变更比无头环境更贴近用户实际体验JavaScript 重度页面交互SPA 路由、懒加载、动态表单等操作人机协同浏览用户需要亲眼看到或亲手参与操作的页面登录态调试用--profile启动后通过 browser-cookies.js 查看 httpOnly、secure 等属性快速定位认证问题动态内容抓取必须执行 JS 才能出现的数据比如仓库中自带的 browser-hn-scraper.js 就演示了如何解析 Hacker News 首页的标题、分数、作者和评论数写在最后browser-tools 用不到 300 行核心代码展示了 Chrome DevTools Protocol 最实用的打开方式不做庞大的框架只做一组职责清晰的原子工具把组合权交给 Agent。这正是 pi-skills 整个项目的设计哲学——每个技能独立、轻量、开箱即用。如果你想让自己的编码 Agent 也具备看得见、摸得着网页的能力这套技能库值得直接搬走。更多技能如 Gmail/Google Drive CLI、YouTube 字幕抓取、语音转写等的完整列表可参考 README.md。【免费下载链接】pi-skillsSkills for pi coding agent (compatible with Claude Code and Codex CLI)项目地址: https://gitcode.com/gh_mirrors/pi/pi-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

电网负载无功MATLAB仿真

电网负载无功MATLAB仿真

关键词:CNN-BiLSTM;无功功率;电压稳定;MATLAB;DSTATCOM 一、文章简要介绍 这篇Scientific Reports文章来自印度和埃塞俄比亚的团队,2025年发表,DOI:10.1038/s41598-025-24751-9。要解…

2026/10/3 19:53:36 阅读更多 →
为什么 AI 能“看见“你的模型?FreeCAD MCP 截图反馈与多模态机制深度解析

为什么 AI 能“看见“你的模型?FreeCAD MCP 截图反馈与多模态机制深度解析

为什么 AI 能"看见"你的模型?FreeCAD MCP 截图反馈与多模态机制深度解析 【免费下载链接】freecad-mcp FreeCAD MCP(Model Context Protocol) server 项目地址: https://gitcode.com/gh_mirrors/fr/freecad-mcp 你是否想过,为什么 AI 能…

2026/10/3 19:53:36 阅读更多 →
Spark Streaming 与 HBase 写入:批量 Put、连接池管理与写入吞吐优化

Spark Streaming 与 HBase 写入:批量 Put、连接池管理与写入吞吐优化

Spark Streaming 与 HBase 写入:批量 Put、连接池管理与写入吞吐优化1. Spark Streaming 与 HBase 集成基础Spark Streaming 是 Spark 的核心组件之一,用于处理实时数据流。HBase 作为 Hadoop 生态系统中的 NoSQL 数据库,常用于存储大规模结构…

2026/10/3 19:52:36 阅读更多 →

最新新闻

网络协议面试高频八问:TCP三次握手、HTTP状态码与HTTPS原理

网络协议面试高频八问:TCP三次握手、HTTP状态码与HTTPS原理

最近帮几个准备大厂面试的朋友做了几轮模拟面试,发现一个特别有意思的现象:很多人聊分布式、聊数据库能讲十分钟,但一被问到网络协议的底层细节,立刻开始背概念。TCP三次握手背得滚瓜烂熟,被追问“为什么不能是两次”就…

2026/10/3 20:53:56 阅读更多 →
SpringBoot+Vue停车场管理系统毕设全解析:从架构设计到部署实战

SpringBoot+Vue停车场管理系统毕设全解析:从架构设计到部署实战

做毕设选“SpringBootVue停车场管理系统”这个题目的人,这两年是真的多。原因也很实在:技术栈主流、业务场景清晰、前后端分离的架构踩中当下企业开发的主流范式,答辩时既能讲业务又能讲技术,怎么都有话说。不过题目选得容易&…

2026/10/3 20:52:55 阅读更多 →
SSM+Vue教工公寓管理系统毕业设计:从项目搭建到论文答辩全指南

SSM+Vue教工公寓管理系统毕业设计:从项目搭建到论文答辩全指南

每年到这个时间点,就会有一批计算机专业的大四学生开始为毕业设计头疼。2026届的学弟学妹们,如果你正在纠结选题,或者已经选了“基于SSM的教工公寓管理系统”这类题目却不知道从何下手,这篇内容就是写给你看的。这套题目可以说是经…

2026/10/3 20:51:54 阅读更多 →
基于ZooKeeper的在线状态漂移检测与选主实现

基于ZooKeeper的在线状态漂移检测与选主实现

1. 先聊清楚:微信个人号多设备场景下的“在线状态漂移”是什么 1.1 多个实例同时工作,为什么会产生状态分歧 如果你搭过微信个人号相关的中台服务,一定遇过这种奇怪现象:后台明明显示账号在线,消息流水也正常&#xf…

2026/10/3 20:51:54 阅读更多 →
专科生AI辅助开题报告:9个实用工具、完整流程与学术诚信红线

专科生AI辅助开题报告:9个实用工具、完整流程与学术诚信红线

先说一个前提:这篇文章只聊合法合规的AI写作辅助,用来帮你把开题报告、文献综述这种东西从“憋不出来”变成“改得出来”。最终交上去的文档必须是你自己一个字一个字改过、认过、能讲清楚的,否则别往下看。 2026届专科生现在应该刚好要开题…

2026/10/3 20:51:52 阅读更多 →
路标检测数据集:1000张实拍图+YOLO/VOC/COCO三格式标签

路标检测数据集:1000张实拍图+YOLO/VOC/COCO三格式标签

简介:本资源是面向计算机视觉初学者与YOLO目标检测实践者的路标识别专项数据集及配套训练工具包,解决真实场景下交通标志检测模型训练缺乏高质量标注数据与完整流程支持的问题。压缩包共2000个文件,含1000张实拍路标图像、990个YOLO格式标签&…

2026/10/3 20:49:51 阅读更多 →

日新闻

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南 【免费下载链接】ex-skill 前任 skill 项目地址: https://gitcode.com/gh_mirrors/exsk/ex-skill 前任.skill 是一个运行在 Claude Code 上的开源 Skill:导入微信、iMessage、短信、…

2026/10/3 0:00:27 阅读更多 →
45个经典Linux面试题:从命令到网络排障的完整考点解析

45个经典Linux面试题:从命令到网络排障的完整考点解析

刚开始带应届生的时候,我最头疼的就是他们拿着一摞Linux面试题背得滚瓜烂熟,一上机全露馅。后来自己从被面的人变成面别人的人,才慢慢摸清楚:Linux面试题考的根本不是答案本身,而是你面对一个不确定的系统问题时&#…

2026/10/3 0:01:28 阅读更多 →
SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

简介:本资源是一份面向SAP ABAP开发人员、生产计划专员及ERP实施顾问的实操型操作指南,聚焦SAP生产预留核心业务场景,系统解决物料预留创建、查询、校验与批量处理等高频问题。文档以结构化方式覆盖预留背景原理、OMC2编码规则、工厂级参数配…

2026/10/3 0:01:28 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/3 9:14:33 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 9:47:50 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/3 9:42:31 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →