Playwright 抓取指南:搭配代理运行浏览器自动化

Playwright 抓取是指使用真实浏览器打开网站,等待 JavaScript 渲染,与页面元素交互,并从最终的页面状态中提取数据。当简单的 HTTP 请求无法看到 Chrome 中所显示的相同内容时,这是一个很好的选择。
本地运行的 Playwright 脚本足以测试个人自动化流程或抓取小型公开页面。生产级抓取则要困难得多。一旦工作流需要云端执行、地区定位、CAPTCHA 处理、浏览器配置文件、录制或代理支持的会话,浏览器本身就只是整套方案中的一部分。
这正是 NodeMaven 抓取浏览器 发挥作用的地方。它在 NodeMaven 基础设施上运行真实的 Chrome 浏览器,将会话通过 NodeMaven 代理路由,并提供一个 CDP URL 供 Playwright 连接。 无需单独支付浏览器使用费: 您只需为会话期间使用的代理流量付费,而无需耗费时间和服务器资源来搭建并维护自己的浏览器基础设施。
网页自动化 对基础设施的依赖也越来越重。在 Apify《2026 网页抓取现状报告》, 65.8% 的抓取从业者表示其代理用量有所增加,而 58.3% 增加了代理支出 较去年同期而言。对于 Playwright 抓取来说,这也解释了为什么如今许多团队在扩大规模之前,会格外关注 IP 信誉、会话稳定性、浏览器信号以及位置一致性。
本指南将介绍何时使用 Playwright、何时直接使用 NodeMaven Scraping Browser、如何通过 CDP 连接 Playwright,以及如何为电商抓取、价格监控、JavaScript 重度依赖型网站和云端自动化选择合适的代理配置。
按工作流选择最佳 Playwright 抓取方案
| 工作流程 | 推荐起步方案 |
| 在本地测试个人脚本 | 本地 Playwright |
| 常规 React 或重度依赖 JavaScript 的站点 | 先用本地 Playwright;若出现拦截、CAPTCHA 或云端部署问题,再改用 Scraping Browser |
| 电商商品页 | NodeMaven Scraping Browser 电商模板 + 住宅代理 |
| 每 15 分钟一次的价格监控 | Scraping Browser 配合粘性会话或已保存的浏览器配置文件 |
| 云端执行或定时任务 | NodeMaven Scraping Browser API |
| 并行采集搜索结果 | 优先用 API 或 HTTP 抓取器;仅在必须渲染时才用 Playwright |
| 受 Cloudflare 保护的页面 | 抓取浏览器,具备增强隐身、CAPTCHA 破解,并在适用时支持 Cloudflare Web Bot Auth |
| 无代码工作流 | NodeMaven AI 提示词或现成模板 |
| AI 或 RAG 数据管道 | 来自抓取浏览器的结构化 JSON 输出 |
在本文中,“搭配代理使用 Playwright”可以指两种方案。您可以 在本地 Playwright 脚本中手动配置代理,也可以使用 NodeMaven 抓取浏览器,其中浏览器环境、代理路由、CAPTCHA 处理、Live Browser 以及调试工具均已为您管理妥当。
什么是 Playwright 抓取?
Playwright 是一个浏览器自动化框架。它可以控制 Chromium、Firefox 和 WebKit,点击按钮、填写表单、滚动页面、等待元素、截取屏幕截图,并从渲染后的 DOM 中提取数据。
在抓取场景中,通常在页面依赖浏览器行为时才会选择 Playwright。
基础的抓取工具只是下载 HTML。而 Playwright 抓取器会像浏览器一样打开页面,运行脚本,等待界面加载完成,然后再提取数据。
因此,Playwright 非常适合以下场景:
- React、Vue、Angular 等大量使用 JavaScript 的页面
- 价格或库存动态变化的商品页面
- 带筛选条件和无限滚动的搜索页面
- 需要点击、填写表单或翻页的工作流
- 截图与视觉检查
- 结果受地理位置、Cookie 或会话状态影响的页面
如果您是抓取新手,建议先从更简单的目标入手。NodeMaven 的 Python 网页抓取 指南介绍了进入浏览器自动化之前的基本流程。另请查看我们的指南: Playwright MCP.
为什么要将 Playwright 连接到 NodeMaven Scraping Browser?
您不必为每一项抓取任务都接入 Playwright。 如果控制台模板或 AI 提示词already能提供您需要的数据,就直接使用 NodeMaven Scraping Browser. 您可以选择一个场景模板,运行浏览器,通过 Live Browser 实时查看,检查控制台输出,并导出结构化结果,无需编写完整脚本。
当抓取器需要成为您自有系统的一部分时,再接入 Playwright。例如,您的后端可能需要从数据库中提取 URL、按计划运行抓取任务、将 JSON 发送到内部控制台,或把最新的网页数据传入 AI/RAG 流程。
使用控制台进行快速测试:
- 运行电商、B2B 数据补全、房产或价格监控模板
- 编写无代码 AI 提示词
- 在 Live Browser 中实时查看页面
- 查看控制台输出与结构化结果
- 下载截图、HTML 文件或快速导出结果
将 Playwright 与 Scraping Browser 搭配使用,实现生产级控制:
- 从您的后端运行抓取器
- 通过 cron、队列或 worker 调度任务
- 从您自己的数据库中批量抓取 URL
- 复用现有的 Playwright 代码
- 将提取的 JSON 发送到您的应用、看板或 AI 流程中
- 用代码控制页面跳转、等待、点击、截图和校验
简而言之, NodeMaven Scraping Browser 负责运行云端浏览器环境,包括代理、反检测设置、CAPTCHA 破解、Live Browser 和会话录制。 Playwright 则从您的代码中控制该浏览器 当模板或 AI Prompt 已无法满足需求时。
查看我们的指南 如何使用 Scraping Browser 如果您无需将其接入自己的系统,只想快速开始抓取。
本地 Playwright 与 NodeMaven 抓取浏览器对比
本地 Playwright 让您在自己的机器上拥有完全控制权。这里适合学习、编写选择器、测试等待逻辑,并确认整个流程可以跑通。
问题通常出现在同一个抓取脚本迁移到 VPS、CI 节点或生产服务器之后。此时浏览器是从云端 IP 运行的。 目标网站可能返回不同的内容、更多 CAPTCHA、更慢的响应,或出现本地测试时从未遇到的拦截页面。
| 设置 | 您需要自行管理的部分 | Better For |
| 本地 Playwright | 浏览器安装、本地 IP、脚本、选择器 | 学习、小规模测试、个人自动化 |
| 在您的 VPS 上运行 Playwright | 服务器、浏览器依赖、代理配置、日志、扩容 | 具备 DevOps 能力的团队 |
| NodeMaven 抓取浏览器 | 云端浏览器、代理路由、反检测设置、Live Browser、录制回放 | 生产级抓取、区域校验、调试、定时任务 |
NodeMaven 会先启动浏览器。Playwright 再通过 chromium.connectOverCDP(cdpUrl) 连接到这个正在运行的浏览器。也就是说,页面仍由您的脚本控制,但浏览器运行在 NodeMaven 的托管环境中。
如何将 Playwright 连接到 NodeMaven 抓取浏览器
要将 Playwright 连接到 NodeMaven Scraping Browser,您需要从 NodeMaven 控制台获取两个值:
- Scraping Browser API 令牌 来自 Scraping Browser 概览页
- 代理密码 来自您的 NodeMaven 代理凭据
API 令牌用于对浏览器会话请求进行授权。代理密码则让 NodeMaven 将浏览器流量按所选代理配置进行转发。
第 1 步:复制您的 Scraping Browser API 令牌
打开 NodeMaven 控制台,进入 Scraping Browser → 概览。在 浏览器 API 区块中,复制您的 API 令牌。

请妥善保管该令牌。它相当于创建和管理浏览器会话的密码。
在 API 请求中,该令牌以 bearer token 的形式传递:
第 2 步:复制您的代理密码
接下来,从您的 NodeMaven 代理凭据中复制代理密码。
创建 Scraping Browser 会话时,您需要在 proxy_password 字段中使用该值。
第 3 步:安装 Playwright Core
在您的项目中安装 playwright-core:
之所以使用 playwright-core,是因为 NodeMaven 已经在云端运行 Chrome 浏览器。您的脚本只需连接到该浏览器即可。
第 4 步:创建浏览器会话
通过 Scraping Browser API 创建一个浏览器会话。
响应中包含会话 ID、状态和 CDP URL。
复制 cdp_url。这就是 Playwright 将要使用的浏览器连接链接。
第 5 步:通过 CDP 连接 Playwright
现在将 Playwright 连接到正在运行的 NodeMaven 浏览器会话。
与本地 Playwright 的主要区别在于浏览器启动这一行代码。
本地 Playwright 通常这样启动:
使用 NodeMaven Scraping Browser 时,浏览器已经在云端运行:
第 6 步:从页面中提取数据
Playwright 连接成功后,按照编写普通 Playwright 抓取脚本的方式编写选择器即可。
保存结果前请务必进行校验。浏览器可能加载成功,但返回的却是 CAPTCHA 页面、空白列表、错误的地区页面或登录界面。
示例:使用 Playwright 抓取电商页面
电子商务 页面是 Playwright 抓取的典型应用场景,因为商品数据往往依赖 JavaScript、cookie、位置、库存规则和配送设置。
典型的工作流程如下:
- 打开搜索页或分类页。
- 等待商品卡片加载。
- 提取标题、价格、评分、库存文本和 URL。
- 保存一张截图用于排查问题。
- 返回结构化的 JSON。
请将选择器替换为目标网站上的对应选择器。对于 Amazon 类的工作流程,在扩大规模前请先检查具体页面和地区,因为布局、价格模块、配送信息和赞助位都可能有所不同。
相关工作流程可参阅 NodeMaven 的以下指南: 价格抓取, 如何抓取 Amazon,以及构建 使用 Python 构建 Amazon 价格追踪器.
Playwright 抓取需要使用代理吗?
使用 Playwright 抓取时,并非总是需要代理。
如果您只是在本地测试个人脚本、打开一个小型公开页面,或对自己的网站做自动化,普通网络连接通常就足够了。
当工作流程涉及以下情况时,代理就成为方案的一部分:
- 分地区的价格、商品列表、搜索结果或库存情况
- 对同一网站反复抓取
- 在 VPS 或 CI 节点上云端执行
- 需要固定归属地的浏览器配置文件
- 并行抓取任务
- 会检查 IP 信誉的公开网站
在采集公开数据时, 网页抓取代理 有助于保持网络层的一致性。本地脚本在家庭网络下也许能跑通,但在云端基础设施上却会失败,因为目标网站对数据中心线路的处理方式不同。
对于多数 Playwright 抓取任务, 住宅代理 是首选的测试方案,因为它们通过家庭宽带网段转发流量。对于彼此独立的页面请求, 轮换住宅代理 可以把请求分散到不同的 IP 上。
关键在于让代理的行为与抓取流程相匹配。当会话依赖 Cookie、购物车、翻页、位置设置或登录状态时,不要频繁轮换 IP。
Playwright 抓取的最佳代理配置
公开电商页面
对于公开的商品页、分类页和库存查询,建议从 住宅代理 和固定地区开始。
如果网站会根据地理位置改变内容,请在启动浏览器会话前先选定目标国家、地区、城市或邮编。这样抓取到的页面版本才与当地真实用户看到的一致。
如果是跨大量互不相关 URL 的商品调研,轮换是可行的。但对于分类页、翻页流程或购物会话,请使用粘性会话,避免网站在过程中途看到 IP 发生变化。
每 15 分钟一次的价格监控
价格监控 更需要的是稳定性,而不是高频轮换。
如果您每 15 分钟检查同一件商品,随机更换 IP 会导致结果混乱。页面可能显示不同的配送地区、货币、配送方式或库存提示。
请使用粘性会话或已保存的浏览器配置文件。每次运行时记录地区、来源 URL、时间戳、价格、库存文案和截图路径。价格发生变化时,您就能判断是页面本身变了,还是抓取程序采集到了另一个地区版本。
并行采集搜索结果
用 Playwright 抓取搜索结果的成本可能很高,因为每个浏览器会话都要加载大量资源。
如果目标站点提供 API 或返回可用的静态 HTML,请优先使用。只在必须由浏览器渲染的页面上使用 Playwright。
确需浏览器渲染时,请缩短会话时长,在允许的情况下拦截无关资源,并且不要启动超出预算的浏览器数量。NodeMaven 的流量分析可帮助您查看哪些域名消耗了代理流量。
受 Cloudflare 保护的页面
部分网站使用 Cloudflare 或其他反机器人系统。对于合规的工作流程,NodeMaven 抓取浏览器可在会话中启用 增强隐身, CAPTCHA 破解,以及 Cloudflare Web Bot Auth 适用于已接入的网站。
这样的配置可提升受支持流程的稳定性,但任何浏览器或代理配置都无法保证访问所有网站。如果目标站点封禁自动化,请查阅网站规则,降低请求频率,在 Live Browser 中手动查看页面,并确认抓取程序采集的是允许公开访问的数据。
类移动端工作流程
使用 移动代理 适用于目标站点对移动运营商流量表现不同,或您需要进行移动端专项检查的场景。
对于常规的桌面端抓取,住宅代理或粘性会话通常更易管理。移动代理更适合移动优先的平台、应用测试、广告验证,或运营商网络流量本身就是工作流程一部分的场景。
用于 Playwright 抓取的浏览器配置文件
浏览器配置文件可在多个会话之间保存浏览器状态。在 NodeMaven 抓取浏览器中,配置文件可保留 Cookie、本地存储、缓存、浏览历史以及网站登录状态。
当工作流程需要连续性时,请使用配置文件:
- 允许自动化操作的已登录后台
- 在网站上选定的地区设置
- 重复运行的价格监控流程
- 依赖已存 Cookie 的多步表单
- 长期运行的研究环境
每个账户最多包含 10 个浏览器配置文件 (默认设置)。
配置文件与会话并不相同。会话是一次有最长生命周期的浏览器运行,而配置文件是可在多个会话之间复用的已保存浏览器状态。
如果您删除配置文件,已保存的浏览器数据也会被清除。如果目标网站让自己的登录会话过期,配置文件也无法让您永久保持登录状态。
在 NodeMaven 中调试 Playwright 抓取
Playwright 抓取失败时,往往很难仅凭日志定位原因。脚本可能只是超时,但真实页面上可能是 CAPTCHA、Cookie 提示条、地区封锁页、缺失的选择器,或是加载缓慢的组件。
NodeMaven 抓取浏览器提供多种方式来检查运行过程:
- 实时浏览器 实时展示自动化的运行过程。
- 控制台输出 显示脚本日志和提取出的 JSON。
- 截图 便于对比成功与失败的页面。
- HTML export 可查看实际返回的页面。
- 会话录制 便于回顾已完成的运行。
- 会话标签页 显示进行中、已完成和失败的浏览器会话。
每个浏览器会话的最长 TTL 为 30 分钟,会话录制和调试数据的保留时长为 三天 (默认设置)。
运行失败时,请先查看可见页面。如果页面正确,就调整选择器或等待逻辑;如果页面不对,则检查代理位置、配置文件状态、CAPTCHA 处理、Cookie 和请求时机。
Playwright 抓取:控制台还是 API
在控制台中使用抓取浏览器 适用于工作流仍在搭建阶段时。
在控制台中,您可以选择模板、自定义浏览器环境、编写 AI 提示词、编辑 Playwright 或 Puppeteer 脚本、观看实时浏览器、查看控制台输出并检查结构化结果。
当工作流已可从您自己的系统运行时,请使用 API。
以下场景适合使用 API:
- 定时任务
- 后端抓取流水线
- 队列与爬虫
- 重复性监控
- AI 或 RAG 数据接入
- 需要以程序方式控制会话的生产环境工作流
对于定时任务和云端运行,可通过 API 创建浏览器会话,使用 Playwright 通过 CDP 连接,执行数据提取,保存输出结果,然后关闭会话。调度由您自己的调度器控制,NodeMaven 负责云端浏览器和代理环境。
价格与限制
抓取浏览器具备 不收取单独的浏览器使用费 ,符合条件的 NodeMaven 用户即可享用。您只需为浏览器会话期间产生的 NodeMaven 轮换代理流量付费。
浏览器运行时、Live Browser、AI 提示词、CAPTCHA 破解和会话录制均不额外收费。
自动化任务失败或被拦截时,会话期间已产生的代理流量仍会计费。Live Browser 不会额外产生流量费用,录制功能也包含在内。
NodeMaven 轮换住宅 和 移动代理 套餐起价为 $2.20/GB。新用户还可以 从以下内容开始 750 MB 住宅和移动代理流量,仅需 $3.50,足以在扩大规模前测试一个小型 Playwright 抓取工作流。
用户可在以下位置查看流量用量: 控制台 → 按域名细分 → Scraping Browser。目前单个会话尚不支持自定义流量上限,但您可以随时手动终止正在进行的会话。
| 限制 | 默认包含 |
| 浏览器配置文件 | 最多 10 个 |
| 活跃浏览器会话 | 最多同时 50 个 |
| 最长会话 TTL | 30 分钟 |
| 录制保留时长 | 3 天 |
如果您的工作流需要更高的限额或更长的会话时长,请联系 NodeMaven 支持团队并说明使用场景。
扩大规模前的 Playwright 抓取检查清单
在运行大规模 Playwright 抓取任务之前,请分阶段测试工作流。
先在本地或 Playground 中用单个 URL 进行测试。确认页面正常渲染、选择器有效、输出包含预期字段。然后再用目标代理位置和会话设置进行测试。
正式运行时,请保留以下检查机制:
- 保存来源 URL、时间戳、地区和提取的 JSON
- 检测 CAPTCHA、登录、访问被拒和空白页面
- 为失败的运行保存截图
- 当 Cookie 或位置设置影响页面时,使用粘性会话
- 仅在每个请求相互独立时才使用轮换
- 按域名监控代理流量
- 在扩大规模前对比本地与云端的运行表现
- 及时终止卡住的会话,避免白白消耗流量
对于 AI 与 RAG 流程,请在将 JSON 传入下游前先做校验。抓取到的劣质数据会在不知不觉中变成劣质的模型上下文。
结论
当目标网站必须使用真实浏览器时,Playwright 是一款强大的抓取工具。它可以渲染 JavaScript、点击完成页面流程、等待动态元素加载,并从用户所看到的同一页面状态中提取数据。
用于小规模本地测试时,原生 Playwright 已经足够。而在生产环境的工作流中, NodeMaven 抓取浏览器 可减少在浏览器基础设施、代理路由、位置设置、CAPTCHA 处理、配置文件、日志、截图和录制等方面的工作量。
当您需要模板、AI Prompt、Live Browser 和快速测试时,请使用控制面板。当工作流需要从您的后端、调度器、队列或数据管道中运行时,请通过 CDP 连接 Playwright。



