ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Skyvern 入门实战:用 AI 驱动浏览器自动化,跑通第一个网页数据提取任务

2026/9/5 15:52:12 拓冰建站 浏览量
Skyvern 入门实战:用 AI 驱动浏览器自动化,跑通第一个网页数据提取任务 Skyvern 入门实战用 AI 驱动浏览器自动化跑通第一个网页数据提取任务【免费下载链接】skyvernAutomate browser based workflows with AI项目地址: https://gitcode.com/GitHub_Trending/sk/skyvernSkyvern 是一个用大语言模型和计算机视觉驱动浏览器自动化的开源工具它能像人一样看网页、点按钮、填表单并提取结构化数据。适合需要自动化网页操作但又不想维护一堆 XPath 选择器的开发者和测试人员。从一个具体场景说起你多半遇到过这种情况写脚本从某个后台系统批量拉数据页面一改版#submit-btn这类选择器就全失效了修脚本的耗时甚至超过了手工操作。更麻烦的是登录态和验证码传统浏览器自动化库擅长点哪里但不擅长判断现在该干什么。每次都要人盯着谈不上自动化。Skyvern 的思路是让模型直接看截图来理解页面用一句自然语言描述目标就能驱动浏览器完成任务页面改版后大多数情况下无需改代码。5 分钟跑通第一个任务本地跑起来只需要两条命令前提是 Python 3.113.13安装[all]是可选依赖包包含服务器和 Web UIpip install skyvern[all] skyvern quickstartquickstart会交互式引导你配置 LLM 密钥、选择浏览器并在本地用 SQLite 建好数据库不想装 Postgres 的话默认就是 SQLite。启动后打开 http://localhost:8080 在控制台里创建一个 Task填入url和一句自然语言prompt点击运行页面会直播浏览器的每一步操作。跑服务出问题时可以分开排查skyvern run server单独起后端、skyvern status查看状态、skyvern stop all停掉全部服务。把一个任务做完整以从供应商报价系统提取本周新增报价单为例完整走一遍输入→执行→输出的闭环from skyvern import Skyvern skyvern Skyvern() task await skyvern.run_task( urlhttps://portal.example.com/quotes, prompt打开报价单列表筛选出本周新增的报价单进入每份详情提取信息, data_extraction_schema{ type: array, items: { type: object, properties: { quote_id: {type: string}, customer: {type: string}, amount: {type: number}, valid_until: {type: string} } } } )输入url决定从哪个页面出发prompt是给人看的目标描述不需要写任何选择器。执行Skyvern 把任务拆成若干步骤每一步截图观察 → 规划动作 → 执行点击/填写 → 校验结果循环直到目标达成或达到max_steps上限。结构化输出data_extraction_schema是关键。不给 schema 时提取结果是自由文本给了之后返回的 JSON 严格符合你定义的字段和类型可以直接进数据库或喂给下游程序。除了 schema还有两个参数值得记住error_code_mapping用于定义遇到某种情况立即停止比如检测到欠费提示就中断webhook_url让任务跑完后自动回调你的服务。多步骤的完整流程提取列表→循环进详情→下载文件→发邮件则用 Workflow 编排官方文档里用下载 1 月 1 日之后的所有发票作为典型例子一个 For Loop 块就能覆盖它是怎么做到的三个机制值得了解理解后你就知道什么任务交给它比较稳视觉驱动定位每个步骤模型会看到页面截图加上经过清理的元素树动作目标是绿色的提交按钮而不是div#form button:nth-child(2)。所以站点改样式、挪位置任务大多还能跑。系统架构见下图核心循环就是理解网页 → 规划 → 执行多智能体分工任务执行由一组 Agent 协作完成规划 Agent 决定下一步动作验证 Agent 在每步之后检查目标是否真的达成失败时会带上下文重试而不是直接抛错。相关入口在 skyvern/forge/agent.py。Playwright 兼容层SDK 本质是给 Playwright 的 Page 对象加了一层 AI 能力。page.act(点击登录按钮)、page.extract(...)这类命令之外所有原生 Playwright 操作也都支持prompt参数做 AI 兜底——先用 CSS 选择器试失败再交给模型找。表单与页面交互逻辑在 skyvern/library/skyvern_browser_page.py。三个可以直接照做的场景场景一批量抓取动态页面上的数据适合目标页有分页、有登录、字段不固定传统爬取脚本很难写的情况。run_task传入列表页 URL 和提取全部 X 的字段的 prompt用data_extraction_schema定义数组结构拿到 JSON 后入库或导出。 效果一次成功运行即可覆盖整页数据翻页、点加载更多都由模型自己决定。场景二带登录和 2FA 的后台操作比如每月登录供应商后台提交报销单。在 Skyvern 里保存账号凭据支持 Bitwarden、1Password、自定义 HTTP 凭据服务支持 TOTP 动态口令、邮箱/短信验证码等 2FA 方式任务里只写登录后提交本月报销单凭据由框架注入。 效果登录环节不再依赖手工跑批可以无人值守。场景三多步业务流程串成 Workflow单个任务解决不了先查 A 系统再操作 B 页面最后发通知这类跨系统流程。在 UI 或 API 里创建工作流把 Browser Task、HTTP Request、File Parsing、发邮件等块按依赖关系连起来支持 For/While 循环用参数Output Parameter在前块和后块之间传递数据绑定webhook_callback_url接收运行结果。 效果一条流程替代多个手工环节仓库里的 Make.com 蓝图可作参考integrations/make/contact_form_make.com_blueprint.json。和同类工具差在哪维度传统脚本 (Selenium/Playwright)API 工具 (Postman 类)Skyvern元素定位✅ 选择器精准❌ 不涉及页面⚠️ 靠视觉文本偶有歧义需重试页面改版后存活❌ 选择器易失效❌ 不支持✅ 无预置选择器抗改版登录 / 2FA⚠️ 需自己写⚠️ 有限支持✅ 凭据库 TOTP/邮箱验证码结构化输出⚠️ 自己解析✅ 响应即 JSON✅ 按 schema 约束提取多步流程编排⚠️ 手写代码⚠️ 依赖外部工具✅ 内置工作流块与循环进阶玩法与部署Docker Compose 部署克隆仓库后cp .env.example .env填好 LLM 密钥再docker compose up -dPostgres、API、UI 全部容器化配置文件见 docker-compose.yml。LLM 可换OpenAI、Anthropic、Gemini、Azure、AWS Bedrock、Ollama 本地模型都支持配置入口在 skyvern/cli/llm_setup.py。接你自己的浏览器在 Chrome 开启远程调试后用browser_addresshttp://127.0.0.1:9222让 Skyvern 复用你已登录的会话适合内网站点。出口代理与集成proxy_location可指定浏览器出口地域外部编排可走 Zapier / Make.com / n8n也提供 MCP Server 供其他 LLM 调用。写在最后把写选择器换成写目标prompt 描述清楚比 selector 精确更重要配合data_extraction_schema就能拿到稳定结构的输出。单步操作用 Task跨页面跨系统的流程用 Workflow别一开始就把所有东西塞进一个 prompt。先在 UI 里直播调试跑通后再迁到代码或 CI 中调度。快速参考官方文档结构见 docs/开发者速览 docs/developers/getting-started/quickstart.mdxAPI 规范 fern/openapi/skyvern_openapi.json。【免费下载链接】skyvernAutomate browser based workflows with AI项目地址: https://gitcode.com/GitHub_Trending/sk/skyvern创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考