Create-React-App实时协作:协同编辑和实时更新功能终极指南
想要在团队开发中实现高效的实时协作体验吗?**create-react-app** 提供了强大的实时更新和协同编辑功能,让多人开发变得更加流畅和高效。😊## 什么是Create-React-App实时协作功能**Create-React-App** 内置了完整的实时协作开发环境,通过 [Webpack Dev Server](https://link.gitcode.com/i/bb4a
chrome-cdp核心功能解析:10个实用命令让AI代理与浏览器无缝交互
chrome-cdp是一款轻量级Chrome DevTools Protocol CLI工具,能够让AI代理直接与本地Chrome浏览器会话交互,无需Puppeteer依赖,可支持100多个标签页,实现即时连接。通过它,AI代理可以轻松操作浏览器完成各种任务。
🌟 准备工作
使用chrome-cdp前,需要完成以下准备:
- 启用浏览器远程调试:打开Chrome(或Chromium、Brave、Edge、Vivaldi),访问
chrome://inspect/#remote-debugging并开启开关 - 安装Node.js:确保已安装Node.js 22+版本(因使用内置WebSocket功能)
- 特殊路径配置:如果浏览器的
DevToolsActivePort位于非标准位置,需设置CDP_PORT_FILE环境变量指向其完整路径
🚀 核心命令详解
所有命令都通过scripts/cdp.mjs执行。<target>是从list命令获取的唯一targetId前缀,例如6BE827FA。CLI会拒绝模糊的前缀,确保操作准确性。
1️⃣ 列出打开的页面
scripts/cdp.mjs list
该命令会显示所有打开的页面信息,包括唯一的targetId前缀、标题和URL,帮助你选择要操作的目标页面。
2️⃣ 截取屏幕截图
scripts/cdp.mjs shot <target> [file] # 默认保存为runtime目录下的screenshot-<target>.png
此命令仅捕获当前视口。如果需要截取折叠内容,可先用eval命令滚动页面。输出结果包含页面的DPR(设备像素比)和坐标转换提示。
3️⃣ 获取可访问性树快照
scripts/cdp.mjs snap <target>
通过该命令可以获取页面的可访问性树快照,有助于分析页面结构和元素关系。
4️⃣ 执行JavaScript代码
scripts/cdp.mjs eval <target> <expr>
注意:当DOM可能在多次
eval调用之间发生变化时(例如点击Ignore后,卡片索引发生变化),避免使用基于索引的选择(querySelectorAll(...)[i])。建议在一个eval中收集所有数据或使用稳定的选择器。
5️⃣ 获取HTML内容
scripts/cdp.mjs html <target> [selector] # 获取整页或指定元素的HTML
可用于获取整个页面的HTML代码,或通过CSS选择器获取特定元素的HTML内容。
6️⃣ 页面导航
scripts/cdp.mjs nav <target> <url> # 导航到指定URL并等待加载完成
让目标页面导航到指定的URL,并等待页面加载完成,确保后续操作在页面准备就绪后进行。
7️⃣ 网络性能数据
scripts/cdp.mjs net <target> # 获取资源计时条目
获取页面的资源加载计时信息,帮助分析网络性能问题。
8️⃣ 点击元素
scripts/cdp.mjs click <target> <selector> # 通过CSS选择器点击元素
使用CSS选择器定位并点击页面元素,实现模拟用户点击操作。
9️⃣ 坐标点击
scripts/cdp.mjs clickxy <target> <x> <y> # 在指定CSS像素坐标处点击
在页面的指定CSS像素坐标位置进行点击,精确控制点击位置。
🔟 输入文本
scripts/cdp.mjs type <target> <text> # 在当前焦点处输入文本
通过Input.insertText在当前焦点位置输入文本,与eval方式不同,此方法在跨域iframe中也能正常工作。先使用click/clickxy命令获取焦点,再使用type输入文本。
📌 其他实用命令
加载更多内容
scripts/cdp.mjs loadall <target> <selector> [ms] # 点击"加载更多"按钮直到其消失(默认点击间隔1500ms)
对于需要多次点击"加载更多"按钮才能显示全部内容的页面非常有用。
发送原始CDP命令
scripts/cdp.mjs evalraw <target> <method> [json] # 原始CDP命令传递
可直接发送原始的CDP命令,满足高级自定义需求。
打开新标签页
scripts/cdp.mjs open [url] # 打开新标签页(每个新标签页都会触发"允许调试"提示)
停止守护进程
scripts/cdp.mjs stop [target] # 停止守护进程
🧩 坐标系统说明
shot命令保存的图像为原生分辨率:图像像素 = CSS像素 × DPR。CDP输入事件(如clickxy)使用CSS像素。
CSS像素 = 截图图像像素 / DPR
shot命令会打印当前页面的DPR。对于典型的Retina屏幕(DPR=2),需将截图坐标除以2得到CSS像素坐标。
💡 使用技巧
- 要获取页面结构,优先使用
snap --compact而非html命令。 - Chrome在首次访问每个标签页时会显示"允许调试"模态框。后台守护进程会保持会话活动,因此后续命令无需进一步确认。守护进程在闲置20分钟后会自动退出。
通过这些实用命令,chrome-cdp为AI代理与Chrome浏览器之间搭建了高效、便捷的交互桥梁,让自动化浏览器操作变得简单而强大。无论是页面分析、自动化测试还是数据采集,chrome-cdp都能发挥重要作用。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)