E2B 云浏览器自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_7e990003/williamji-browser-e2b。
技能介绍
要解决什么问题
在 Agent 或自动化脚本里直接跑本机浏览器,往往受环境、依赖和隔离性限制:CI 里没有图形界面、多任务并发容易互相干扰,调试也难以复现「真实页面」上的点击与表单行为。若你需要在可控的云端环境里完成打开 URL、点按钮、填表、滚动、截图或抽取正文,并在必要时执行页面内 JavaScript,就需要一套把浏览器生命周期和沙箱资源绑在一起的实现。
技能如何工作
本技能以 Playwright 驱动浏览器,并通过 E2B 沙箱拉起运行环境。核心类 SandboxBrowserSkills(scripts/browser_skills.py)封装了从启动到收尾的完整流程:先 start() 初始化沙箱并连接浏览器,再进行页面操作,最后 stop() 释放资源。
典型工作流可以概括为:
- 导航:
navigate(url),必要时用wait_for_navigation()等待加载完成 - 理解页面结构:
highlight_elements()为可交互元素标注 ID,便于后续精准点击 - 交互:
click_element(id)、click_text(text)、fill_input()、press_key() - 内容与脚本:
get_page_text()、get_element_text()、execute_script() - 可视化与调试:
screenshot()保存截图;开发阶段还可关注沙箱提供的 VNC 地址做目视排查
行为与鉴权由 scripts/config.py 中的环境变量控制,例如 E2B_API_KEY、E2B_DOMAIN、E2B_AGS_TEMPLATE。
适用边界与注意点
- 必须先
start()、结束时必须stop(),否则沙箱资源可能泄漏或计费持续。 - 元素定位失败时,优先用
highlight_elements()确认页面上是否真有目标控件,并适当加大导航/等待超时。 - 未配置
E2B_API_KEY会直接报错;网络或E2B_DOMAIN不可达时表现为连接类异常。 - 适合抓取、端到端探测、半结构化页面交互等任务;不适合替代完整测试框架的断言体系,也不保证绕过所有反爬或强登录风控场景。
使用场景
- Agent 在云端沙箱打开指定 URL,用 highlight 定位按钮后点击并完成多步页面跳转。
- CI 或远程任务里对预发环境做冒烟:导航、填表、等待加载并截图留存失败现场。
- 动态渲染页面加载完成后抽取正文文本,必要时执行页面内 JavaScript 取 DOM 字段。
- 无法在本机装浏览器时,在 E2B 里滚动长页、按键输入并抓取当前 URL 做状态校验。
适合人员
- 负责搭建 Agent 工作流的后端工程师,需要在隔离沙箱里完成登录后台、点菜单、填配置表单等网页操作。
- 维护预发/生产巡检脚本的测试工程师,希望把 Playwright 流程放到 E2B 执行并靠截图与 VNC 排错。
- 做信息采集的数据工程师,要从单页应用抓取可见文本或元素文案,又不想长期维护本机 Chrome 环境。
- 编写浏览器侧探测工具的平台工程师,需要统一用 start/stop 管理沙箱生命周期与 E2B 鉴权配置。