Puppeteer

浏览器

通过对话编写、运行并调试 Puppeteer 浏览器自动化脚本——Neotask 使用 OpenClaw 让无头 Chrome 自动化对每个人都触手可及。

你能做什么

生成 Puppeteer 脚本

描述您想要自动化的内容,Neotask 会编写完整的 Puppeteer 脚本 — 导航、元素选择、表单填充、单击序列、屏幕截图捕获和数据提取。通过适当的错误处理和等待策略获取生产就绪的 Node.js 代码。

调试自动化故障

粘贴失败的 Puppeteer 脚本或错误消息,Neotask 会诊断问题:过时的元素引用、竞争条件、选择器更改、导航超时不匹配或缺少等待关键字。获取更正后的脚本并解释错误所在。

构建抓取管道

要求 Neotask 编写一个 Puppeteer 抓取器来处理分页、延迟加载内容、无限滚动或动态渲染 JavaScript 页面。生成的脚本可以干净地处理 waitForSelector、网络空闲条件和结构化数据提取。

自动提交表单

描述多步骤表单工作流程 - 登录、填写字段、上传文件、提交和确认 - Neotask 生成自动执行整个序列的 Puppeteer 脚本,包括处理模式对话框和文件选择器提示。

捕捉视觉快照

生成 Puppeteer 脚本,用于截取全页屏幕截图、捕获特定于元素的区域或将页面渲染为 PDF。对于视觉回归测试、存档或从 Web 渲染内容生成一致的文档导出非常有用。

尝试询问

  • “编写一个 Puppeteer 脚本,登录 GitHub、导航到我的存储库,并提取所有存储库名称及其星数的列表”
  • “我的 Puppeteer 选择器 .product-price 停止工作 - 这是错误:[粘贴错误]。发生了什么变化以及如何修复它?”
  • “生成一个 Puppeteer 脚本,从该博客的前 5 页中抓取所有文章,包括标题、日期和 URL”
  • “编写一个 Puppeteer 脚本,用测试数据填写此结账表单,并在每一步截取屏幕截图”
  • “创建一个 Puppeteer 脚本,每 10 分钟监控一次产品页面,并在价格跌至 50 美元以下时发送警报”
  • “如何在 Puppeteer 中处理文件上传对话框?给我写一个例子”
  • “将此 Selenium 脚本转换为 Puppeteer,并在适当的等待条件下使其更加可靠”
  • “编写一个 Puppeteer 脚本,生成此列表中每个 URL 的 PDF”
  • 专业提示

  • 始终在固定延迟上使用 waitForSelector — 要求 Neotask 将任何 page.waitForTimeout() 调用替换为 page.waitForSelector() 或 page.waitForNetworkIdle();基于时间的等待是不稳定自动化的最常见来源。
  • 请求拦截以提高速度 - 对于抓取,请要求 Neotask 添加阻止图像、字体和分析脚本的请求拦截;页面加载速度提高 3-5 倍,您可以获得所需的数据,而不会浪费带宽。
  • 无头新模式 - Puppeteer 的无头:“新”模式的行为与传统无头不同;要求 Neotask 指定脚本的目标模式以避免检测差异。
  • 错误恢复模式 - 要求脚本在导航失败时重试并回退到更短的超时而不是崩溃; Neotask 自动添加带有合理重试逻辑的 try/catch。
  • 元素句柄与评估 - 对于复杂的数据提取,要求 Neotask 使用 page.evaluate() 进行批量 DOM 访问,而不是逐个元素的句柄操作;它的速度要快得多。
  • 失败时的屏幕截图 — 要求 Neotask 在每个脚本中添加异常屏幕截图块;这使得调试变得更加容易 10 倍,因为您可以准确地看到脚本失败时页面所处的状态。
  • Works Well With