Token导航 LogoToken导航

Agent Skill · 待分类

playwright-scraper(Playwright scraper 测试)

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

playwright-scraper 是待分类类 Agent Skill,可用宿主为 Local Agent,通过unknown获取,权限为操作浏览器;许可证信息还不明确,暂无第三方扫描结果,按安装量在待分类类的 11,209 个 Skill 里排第 7,383。

总安装 367周安装 15下载 119核验 2026-05-01
待分类操作浏览器unknown未标认证来源可访问许可证需确认审计未展示Local Agent

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:playwright-scraper(Playwright scraper 测试)
来源仓库:https://skills.volces.com
仓库路径:playwright-scraper
安装命令:
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

这个 Skill 是做什么的

这个 Skill 的分类还没最终确定,用法以来源仓库的说明为准。

用于辅助测试设计、自动化测试、用例整理和回归验证。适合让 Agent 编写单元测试、端到端测试或根据失败日志定位问题。使用时需确认项目测试框架、运行命令和夹具数据,避免误改真实逻辑。涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。建议结合原始 README 进一步核验具体用法和限制条件。

来源仓库内路径:playwright-scraper

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Local Agent;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    没有现成安装命令,按unknown的说明从来源页面获取,仓库路径是 playwright-scraper。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

playwright-scraper 怎么安装?

公开资料没有给出可以直接复制的命令,需要按来源页面说明手动安装,仓库内路径为 playwright-scraper。

playwright-scraper 支持哪些 AI 工具?

公开资料标注支持 Local Agent。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

playwright-scraper 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

playwright-scraper 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

playwright-scraper 用的人多吗?

公开数据是累计安装 367 次,近一周安装 15 次,下载 119 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

playwright-scraper 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 Local Agent 一种宿主,触发方式和使用习惯不用来回切换。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Local Agent,想直接扩展它能力的人。
  • 需要处理待分类类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

待分类类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
infsh-cli

infsh CLI · Codex、Claude

4,374,576382权限未标注未明确未收录
ai-video-generation

AI 视频生成 · Codex、Claude

4,313,376382调用外部服务未明确有提醒
lark-openapi-explorer

云雀 OpenAPI 浏览器 · Codex、Claude

2,064,1209,011需要联网未明确有提醒
lark-workflow-standup-report

Lark 工作流程站立报告 · Codex、Claude

2,041,6328,978需要联网未明确通过
use-my-browser

使用我的浏览器 · Codex、Claude

1,848,49140操作浏览器未明确未通过
playwright-scraper

Playwright scraper 测试 · 本页

367—操作浏览器未明确未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Playwright 网页爬取技能

功能概述

使用Playwright进行真实浏览器操作,爬取复杂动态网页。

核心能力

  • ✅ 真实浏览器操作 - 点击、滚动、输入、等待
  • ✅ 处理复杂SPA - 单页应用、多Tab、懒加载
  • ✅ AI自动生成脚本 - 无需提前准备,实时分析页面结构
  • ✅ 持久化Chrome Profile - 复用登录状态
  • ✅ 数据结构化输出 - 自动整理成Markdown/JSON

对比优势

工具局限性Playwright优势
n8n无法处理JS渲染✅ 完整JS渲染支持
Apify需要现成actor✅ AI实时生成脚本
Bright Data按量计费✅ 本地运行,免费

适用场景

  • ✅ 公开信息型网站 - 会议日程、展会信息
  • ✅ 多Tab懒加载页面 - 需点击切换的内容
  • ✅ SPA单页应用 - JavaScript异步加载

不适用场景

  • ⚠️ 反爬机制强的网站 - 需要复杂验证
  • ⚠️ 需多轮调试的场景 - 效率不高
  • ⚠️ 生产环境 - 需要高度稳定性

使用方式

1. 基本爬取(单页面)

官家,请帮我爬取这个页面:https://example.com
等JS渲染完成后提取所有内容
保存成Markdown

2. 多Tab爬取

官家,请爬取MWC巴展议程:
- 页面有5个日期Tab(PRE、MON、TUE、WED、THU)
- 需要点击每个Tab获取数据
- 按日期分别保存

3. 懒加载内容

官家,请爬取这个页面:
- 需要滚动到底部才能加载完整内容
- 等待所有内容加载完成
- 提取所有session数据

技术实现

Playwright核心API

1. 启动浏览器
const { chromium } = require('playwright');

const browser = await chromium.launch({
  headless: false, // 或true
  channel: 'chrome'
});

const context = await browser.newContext({
  viewport: { width: 1920, height: 1080 }
});

const page = await context.newPage();
2. 导航和等待
await page.goto(url, { waitUntil: 'networkidle' });
await page.waitForLoadState('domcontentloaded');
await page.waitForSelector('selector');
3. DOM操作
// 点击
await page.click('button');
await page.click('text=Monday');

// 滚动
await page.evaluate(() => {
  window.scrollTo(0, document.body.scrollHeight);
});

// 等待
await page.waitForTimeout(2000);
4. 数据提取
const data = await page.evaluate(() => {
  const items = Array.from(document.querySelectorAll('.item'));
  return items.map(item => ({
    title: item.querySelector('.title').textContent,
    time: item.querySelector('.time').textContent,
    location: item.querySelector('.location').textContent
  }));
});
5. 持久化Profile
const context = await chromium.launchPersistentContext(
  './user-data',
  { headless: false, channel: 'chrome' }
);

实战案例

案例1:MWC巴展议程爬取

需求:

  • 5个日期Tab(PRE、MON、TUE、WED、THU)
  • 每个Tab有懒加载
  • 数据通过JS异步请求

实现步骤:

// 1. 导航到页面
await page.goto('https://mwcbarcelona.com/agenda');

// 2. 等待页面加载
await page.waitForLoadState('networkidle');

// 3. 循环处理每个Tab
const tabs = ['PRE', 'MON', 'TUE', 'WED', 'THU'];
for (const tab of tabs) {
  // 点击Tab
  await page.click(`text=${tab}`);

  // 等待内容加载
  await page.waitForTimeout(2000);

  // 滚动到底部(触发懒加载)
  await page.evaluate(() => {
    window.scrollTo(0, document.body.scrollHeight);
  });

  // 等待懒加载完成
  await page.waitForTimeout(3000);

  // 提取数据
  const sessions = await page.evaluate(() => {
    const items = Array.from(document.querySelectorAll('.session'));
    return items.map(item => ({
      title: item.querySelector('.title').textContent,
      time: item.querySelector('.time').textContent,
      location: item.querySelector('.location').textContent,
      speakers: item.querySelector('.speakers').textContent
    }));
  });

  // 保存到文件
  const markdown = sessions.map(s =>
    `## ${s.title}\n- 时间: ${s.time}\n- 地点: ${s.location}\n- 演讲者: ${s.speakers}\n`
  ).join('\n');

  fs.writeFileSync(`mwc-${tab}.md`, markdown);
}

关键点:

  • ✅ 等待网络空闲(networkidle)
  • ✅ 点击后等待内容加载
  • ✅ 滚动触发懒加载
  • ✅ 等待懒加载完成
  • ✅ 数据结构化提取

最佳实践

1. 等待策略

// ❌ 不推荐:固定等待
await page.waitForTimeout(5000);

// ✅ 推荐:智能等待
await page.waitForLoadState('networkidle');
await page.waitForSelector('.item', { state: 'visible' });
await page.waitForFunction(() => {
  return document.querySelectorAll('.item').length > 10;
});

2. 错误处理

try {
  await page.click('button');
  await page.waitForSelector('.result', { timeout: 10000 });
} catch (error) {
  console.error('操作失败:', error.message);
  // 截图调试
  await page.screenshot({ path: 'error.png' });
}

3. 性能优化

// 阻止不必要的资源加载
await page.route('**/*.{png,jpg,jpeg,gif,svg}', route => route.abort());
await page.route('**/*.css', route => route.abort());

4. 反爬应对

// 设置用户代理
await page.setExtraHTTPHeaders({
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...'
});

// 禁用webdriver标识
await page.evaluateOnNewDocument(() => {
  Object.defineProperty(navigator, 'webdriver', {
    get: () => false,
  });
});

调试技巧

1. 截图

await page.screenshot({ path: 'debug.png', fullPage: true });

2. 打印HTML

const html = await page.content();
console.log(html);

3. 打印特定元素

const element = await page.$('.item');
const html = await element.innerHTML();
console.log(html);

4. 控制台日志

page.on('console', msg => {
  console.log('PAGE LOG:', msg.text());
});

注意事项

安全提示

  • ⚠️ 仅爬取公开信息
  • ⚠️ 遵守robots.txt
  • ⚠️ 不要过度请求,避免给服务器造成压力
  • ⚠️ 敏感数据不要保存

法律风险

  • ⚠️ 确保爬取行为合法
  • ⚠️ 不要爬取版权内容
  • ⚠️ 不要绕过付费墙
  • ⚠️ 不要爬取个人隐私数据

技术限制

  • ⚠️ 反爬机制强的网站可能失败
  • ⚠️ 需要复杂验证的平台不适用
  • ⚠️ 页面结构变化需重新调试

安装依赖

npm install playwright
npx playwright install chromium

参考资料


创建时间: 2026-02-27 版本: 1.0.0 维护者: 米粒儿(AI Agent)

平台分布

Local Agent

82.3%
按下载量换算98

安全审计

暂无安全审计结果可展示。

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills