with one click
浏览器自动化技能,支持101个工具:页面导航、元素交互、内容提取、截图、网络控制、性能监控等
npx skills add https://github.com/NeverSight/learn-skills.dev --skill playwright-browserCopy and paste this command into Claude Code to install the skill
浏览器自动化技能,支持101个工具:页面导航、元素交互、内容提取、截图、网络控制、性能监控等
npx skills add https://github.com/NeverSight/learn-skills.dev --skill playwright-browserCopy and paste this command into Claude Code to install the skill
| name | playwright-browser |
| description | 浏览器自动化技能,支持101个工具:页面导航、元素交互、内容提取、截图、网络控制、性能监控等 |
| version | 2.1.0 |
| mcp | {"command":"node","args":["dist/mcp-server.js"]} |
当用户请求浏览器操作时,你需要通过 MCP 协议调用相应的工具。以下是调用方法:
browser_launchbrowser_gotobrowser_close| 用户需求 | 调用工具 | 参数示例 |
|---|---|---|
| "访问网站" | browser_goto | { "url": "https://example.com" } |
| "点击按钮" | browser_click | { "selector": "button.submit" } |
| "填写表单" | browser_fill | { "selector": "#username", "value": "admin" } |
| "获取标题" | browser_get_title | {} |
| "截图" | browser_screenshot | { "path": "screenshot.png", "fullPage": true } |
| "获取文本" | browser_get_text | { "selector": "h1" } |
| "等待元素" | browser_wait_for_selector | { "selector": ".content" } |
用户:"访问 example.com 并获取页面标题"
你应该调用:
1. browser_launch({ "headless": false })
2. browser_goto({ "url": "https://example.com" })
3. browser_get_title({})
4. browser_close({})
用户:"在百度搜索 OpenClaw"
你应该调用:
1. browser_launch({})
2. browser_goto({ "url": "https://www.baidu.com" })
3. browser_fill({ "selector": "#kw", "value": "OpenClaw" })
4. browser_click({ "selector": "#su" })
5. browser_wait_for_selector({ "selector": ".result" })
6. browser_close({})
这是一个强大的浏览器自动化技能,可以帮助你控制浏览器、访问网页、提取内容、截图等。通过 MCP 协议提供 101 个完整的浏览器操作工具。
基本用法: 当你需要访问网页、提取信息或控制浏览器时,直接告诉我你的需求即可。我会自动选择合适的工具来完成任务。
示例对话:
场景 1:快速查看网页
你:帮我看看 example.com 上有什么内容
我:会自动启动浏览器,访问网页,提取并总结内容
场景 2:提取信息
你:从 news.ycombinator.com 提取今天的热门文章标题
我:会访问网页,提取所有文章标题并整理给你
场景 3:网页截图
你:帮我截取 github.com 首页的截图
我:会访问网页并保存截图
场景 4:表单填写
你:帮我在这个网站的搜索框输入 "OpenClaw" 并搜索
我:会找到搜索框,输入内容,点击搜索按钮
步骤 1:启动浏览器
工具名称: browser_launch
参数: {
"browserType": "chromium",
"headless": false
}
步骤 2:访问网页
工具名称: browser_goto
参数: {
"url": "https://example.com",
"waitUntil": "networkidle"
}
步骤 3:提取内容
工具名称: browser_get_title
参数: {}
步骤 4:关闭浏览器
工具名称: browser_close
参数: {}
{
"tool": "browser_launch",
"arguments": {
"browserType": "chromium",
"headless": false
}
}
{
"tool": "browser_goto",
"arguments": {
"url": "https://example.com"
}
}
{
"tool": "browser_get_title",
"arguments": {}
}
{
"tool": "browser_get_text",
"arguments": {
"selector": "body"
}
}
{
"tool": "browser_click",
"arguments": {
"selector": "button.submit"
}
}
{
"tool": "browser_fill",
"arguments": {
"selector": "#username",
"value": "user@example.com"
}
}
{
"tool": "browser_screenshot",
"arguments": {
"path": "screenshot.png",
"fullPage": true
}
}
{
"tool": "browser_get_links",
"arguments": {}
}
{
"tool": "browser_wait_for_selector",
"arguments": {
"selector": ".content",
"timeout": 10000
}
}
{
"tool": "browser_close",
"arguments": {}
}
步骤 1: browser_launch
参数: { "headless": false }
步骤 2: browser_goto
参数: { "url": "https://example.com" }
步骤 3: browser_get_title
参数: {}
步骤 4: browser_close
参数: {}
步骤 1: browser_launch
参数: { "headless": false }
步骤 2: browser_goto
参数: { "url": "https://www.baidu.com" }
步骤 3: browser_fill
参数: { "selector": "#kw", "value": "OpenClaw" }
步骤 4: browser_click
参数: { "selector": "#su" }
步骤 5: browser_wait_for_selector
参数: { "selector": ".result", "timeout": 5000 }
步骤 6: browser_get_text
参数: { "selector": ".result" }
步骤 7: browser_close
参数: {}
步骤 1: browser_launch
参数: {}
步骤 2: browser_goto
参数: { "url": "https://news.ycombinator.com" }
步骤 3: browser_wait_for_selector
参数: { "selector": ".itemlist" }
步骤 4: browser_evaluate
参数: {
"script": "Array.from(document.querySelectorAll('.titleline > a')).map(a => ({ title: a.textContent, url: a.href }))"
}
步骤 5: browser_close
参数: {}
browser_launchbrowser_close 释放资源browser_wait_for_selector 等待内容加载以下是完整的工具列表和技术文档,供高级用户参考。
启动浏览器实例(支持设备模拟、视频录制、追踪等高级功能)
参数:
browserType: 'chromium' | 'firefox' | 'webkit' (默认: 'chromium')headless: boolean - 是否无头模式 (默认: true)viewport: { width: number, height: number } - 视口大小deviceName: string - 设备名称,如 'iPhone 13', 'Pixel 5'recordVideo: boolean - 是否录制视频recordTrace: boolean - 是否记录追踪slowMo: number - 慢动作延迟(毫秒)调用示例:
{
"browserType": "chromium",
"headless": false,
"viewport": { "width": 1920, "height": 1080 },
"deviceName": "iPhone 13"
}
关闭浏览器并释放所有资源
参数: 无
调用示例:
{}
创建新的浏览器页面(标签页)
参数: 无
调用示例:
{}
切换到指定索引的页面
参数:
index: number - 页面索引(从0开始)调用示例:
{ "index": 1 }
关闭指定索引的页面
参数:
index: number - 页面索引(可选,默认关闭当前页面)调用示例:
{ "index": 0 }
获取所有打开的页面列表
参数: 无
调用示例:
{}
获取浏览器版本信息
参数: 无
调用示例:
{}
检查浏览器连接状态
参数: 无
调用示例:
{}
导航到指定URL
参数:
url: string - 目标URL(必需)waitUntil: 'load' | 'domcontentloaded' | 'networkidle' - 等待条件timeout: number - 超时时间(毫秒)调用示例:
{
"url": "https://www.example.com",
"waitUntil": "networkidle",
"timeout": 30000
}
返回上一页
参数: 无
调用示例:
{}
前进到下一页
参数: 无
调用示例:
{}
刷新当前页面
参数: 无
调用示例:
{}
点击页面元素
参数:
selector: string - CSS选择器(必需)timeout: number - 超时时间(毫秒)button: 'left' | 'right' | 'middle' - 鼠标按钮clickCount: number - 点击次数调用示例:
{
"selector": "button.submit",
"button": "left",
"clickCount": 1
}
双击元素
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": ".item" }
鼠标悬停在元素上
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": ".menu-item" }
填写表单字段(清空后填入)
参数:
selector: string - CSS选择器(必需)value: string - 要填写的值(必需)调用示例:
{
"selector": "#username",
"value": "user@example.com"
}
逐字符输入文本(模拟真实键盘输入)
参数:
selector: string - CSS选择器(必需)text: string - 要输入的文本(必需)delay: number - 每个字符间的延迟(毫秒)调用示例:
{
"selector": "#search",
"text": "playwright",
"delay": 100
}
按下键盘按键
参数:
selector: string - CSS选择器(必需)key: string - 按键名称(如 'Enter', 'Tab', 'Escape')调用示例:
{
"selector": "#search",
"key": "Enter"
}
选择下拉框选项
参数:
selector: string - CSS选择器(必需)value: string | string[] - 选项值(必需)调用示例:
{
"selector": "select#country",
"value": "US"
}
勾选复选框
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "#agree-terms" }
取消勾选复选框
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "#newsletter" }
聚焦到元素
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "#email" }
拖拽元素到目标位置
参数:
sourceSelector: string - 源元素选择器(必需)targetSelector: string - 目标元素选择器(必需)调用示例:
{
"sourceSelector": ".draggable",
"targetSelector": ".drop-zone"
}
触摸点击(移动端)
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": ".mobile-button" }
按下键盘按键(不释放)
参数:
key: string - 按键名称(必需)调用示例:
{ "key": "Shift" }
释放键盘按键
参数:
key: string - 按键名称(必需)调用示例:
{ "key": "Shift" }
移动鼠标到指定坐标
参数:
x: number - X坐标(必需)y: number - Y坐标(必需)steps: number - 移动步数(平滑移动)调用示例:
{
"x": 100,
"y": 200,
"steps": 10
}
在指定坐标点击鼠标
参数:
x: number - X坐标(必需)y: number - Y坐标(必需)调用示例:
{
"x": 150,
"y": 250
}
鼠标滚轮滚动
参数:
deltaX: number - 水平滚动量(必需)deltaY: number - 垂直滚动量(必需)调用示例:
{
"deltaX": 0,
"deltaY": 100
}
按下鼠标按键(不释放)
参数:
button: 'left' | 'right' | 'middle' - 鼠标按键clickCount: number - 点击次数调用示例:
{
"button": "left",
"clickCount": 1
}
释放鼠标按键
参数:
button: 'left' | 'right' | 'middle' - 鼠标按键clickCount: number - 点击次数调用示例:
{
"button": "left",
"clickCount": 1
}
插入文本(不触发键盘事件,直接设置值)
参数:
text: string - 要插入的文本(必需)调用示例:
{
"text": "Hello World"
}
获取元素的文本内容
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "h1.title" }
获取页面标题
参数: 无
调用示例:
{}
获取整个页面的HTML内容
参数: 无
调用示例:
{}
获取页面中所有链接
参数: 无
调用示例:
{}
获取元素的属性值
参数:
selector: string - CSS选择器(必需)attribute: string - 属性名称(必需)调用示例:
{
"selector": "img.logo",
"attribute": "src"
}
获取输入框的值
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "#email" }
检查元素是否可见
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": ".modal" }
检查元素是否启用
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "button.submit" }
检查复选框/单选框是否选中
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "#agree" }
统计匹配选择器的元素数量
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": ".product-item" }
获取当前页面URL
参数: 无
调用示例:
{}
通过ARIA角色查找元素
参数:
role: string - ARIA角色(必需)name: string - 可访问名称调用示例:
{
"role": "button",
"name": "Submit"
}
通过文本内容查找元素
参数:
text: string - 文本内容(必需)exact: boolean - 是否精确匹配调用示例:
{
"text": "Sign In",
"exact": true
}
通过标签文本查找表单元素
参数:
text: string - 标签文本(必需)exact: boolean - 是否精确匹配调用示例:
{
"text": "Email Address",
"exact": false
}
通过占位符文本查找输入框
参数:
text: string - 占位符文本(必需)exact: boolean - 是否精确匹配调用示例:
{
"text": "Enter your email",
"exact": false
}
通过测试ID查找元素
参数:
testId: string - 测试ID(必需)调用示例:
{ "testId": "submit-button" }
通过alt属性文本查找图片元素
参数:
text: string - alt文本(必需)exact: boolean - 是否精确匹配调用示例:
{
"text": "Company Logo",
"exact": false
}
通过title属性查找元素
参数:
text: string - title文本(必需)exact: boolean - 是否精确匹配调用示例:
{
"text": "Click to expand",
"exact": false
}
等待元素出现在DOM中
参数:
selector: string - CSS选择器(必需)timeout: number - 超时时间(毫秒)state: 'attached' | 'visible' | 'hidden' - 等待状态调用示例:
{
"selector": ".loading-complete",
"timeout": 10000,
"state": "visible"
}
等待指定时间
参数:
timeout: number - 等待时间(毫秒,必需)调用示例:
{ "timeout": 3000 }
等待URL匹配指定模式
参数:
url: string - URL模式(必需)timeout: number - 超时时间(毫秒)调用示例:
{
"url": "https://example.com/dashboard",
"timeout": 5000
}
等待网络请求
参数:
urlPattern: string - URL模式(必需)timeout: number - 超时时间(毫秒)调用示例:
{
"urlPattern": "**/api/users",
"timeout": 10000
}
等待网络响应
参数:
urlPattern: string - URL模式(必需)timeout: number - 超时时间(毫秒)调用示例:
{
"urlPattern": "**/api/data",
"timeout": 10000
}
等待JavaScript函数返回true
参数:
fn: string - JavaScript函数代码(必需)arg: any - 传递给函数的参数timeout: number - 超时时间(毫秒)polling: number - 轮询间隔(毫秒)调用示例:
{
"fn": "() => document.readyState === 'complete'",
"timeout": 5000,
"polling": 100
}
等待页面加载到指定状态
参数:
state: 'load' | 'domcontentloaded' | 'networkidle' - 加载状态(必需)timeout: number - 超时时间(毫秒)调用示例:
{
"state": "networkidle",
"timeout": 30000
}
截取页面截图
参数:
path: string - 保存路径fullPage: boolean - 是否截取整页type: 'png' | 'jpeg' - 图片格式quality: number - 图片质量(0-100,仅JPEG)调用示例:
{
"path": "screenshot.png",
"fullPage": true,
"type": "png"
}
截取指定元素的截图
参数:
selector: string - CSS选择器(必需)path: string - 保存路径调用示例:
{
"selector": ".chart",
"path": "chart.png"
}
生成页面PDF
参数:
path: string - 保存路径format: string - 纸张格式(如 'A4', 'Letter')printBackground: boolean - 是否打印背景调用示例:
{
"path": "page.pdf",
"format": "A4",
"printBackground": true
}
在页面上下文中执行JavaScript代码
参数:
script: string - JavaScript代码(必需)arg: any - 传递给脚本的参数调用示例:
{
"script": "document.querySelectorAll('h2').length"
}
向页面添加脚本标签
参数:
url: string - 脚本URLcontent: string - 脚本内容调用示例:
{
"url": "https://cdn.example.com/library.js"
}
向页面添加样式标签
参数:
url: string - 样式URLcontent: string - 样式内容调用示例:
{
"content": "body { background: red; }"
}
设置一个或多个Cookie
参数:
cookies: array - Cookie数组(必需)
name: string - Cookie名称value: string - Cookie值domain: string - 域名path: string - 路径调用示例:
{
"cookies": [
{
"name": "session",
"value": "abc123",
"domain": "example.com",
"path": "/"
}
]
}
获取当前页面的所有Cookie
参数: 无
调用示例:
{}
清除所有Cookie
参数: 无
调用示例:
{}
设置LocalStorage项
参数:
key: string - 键名(必需)value: string - 值(必需)调用示例:
{
"key": "theme",
"value": "dark"
}
获取LocalStorage项
参数:
key: string - 键名(可选,不提供则返回所有)调用示例:
{ "key": "theme" }
清除LocalStorage
参数: 无
调用示例:
{}
保存存储状态(Cookie和LocalStorage)
参数:
path: string - 保存路径调用示例:
{ "path": "storage.json" }
恢复存储状态
参数:
state: object - 存储状态对象(必需)调用示例:
{
"state": { "cookies": [], "origins": [] }
}
设置离线模式
参数:
offline: boolean - 是否离线(必需)调用示例:
{ "offline": true }
拦截匹配模式的请求
参数:
patterns: array - URL模式数组(必需)调用示例:
{
"patterns": ["*.jpg", "*.png", "*/ads/*"]
}
模拟网络响应
参数:
urlPattern: string - URL模式(必需)response: object - 响应对象(必需)
status: number - 状态码body: string - 响应体contentType: string - 内容类型调用示例:
{
"urlPattern": "**/api/users",
"response": {
"status": 200,
"body": "{\"users\": []}",
"contentType": "application/json"
}
}
获取请求日志
参数:
limit: number - 限制数量调用示例:
{ "limit": 50 }
获取响应日志
参数:
limit: number - 限制数量调用示例:
{ "limit": 50 }
获取控制台日志
参数:
limit: number - 限制数量调用示例:
{ "limit": 100 }
清除所有日志(请求、响应、控制台)
参数: 无
调用示例:
{}
上传文件到文件输入框
参数:
selector: string - 文件输入框选择器(必需)filePath: string | array - 文件路径(必需)调用示例:
{
"selector": "input[type='file']",
"filePath": "C:\\Users\\Admin\\document.pdf"
}
触发文件下载
参数:
triggerSelector: string - 触发下载的元素选择器(必需)调用示例:
{ "triggerSelector": "a.download-link" }
设置视口大小
参数:
width: number - 宽度(必需)height: number - 高度(必需)调用示例:
{
"width": 1920,
"height": 1080
}
获取当前视口大小
参数: 无
调用示例:
{}
模拟媒体类型和配色方案
参数:
colorScheme: 'light' | 'dark' | 'no-preference' - 配色方案media: 'screen' | 'print' - 媒体类型调用示例:
{
"colorScheme": "dark",
"media": "screen"
}
设置地理位置
参数:
latitude: number - 纬度(必需)longitude: number - 经度(必需)accuracy: number - 精度调用示例:
{
"latitude": 37.7749,
"longitude": -122.4194,
"accuracy": 100
}
清除地理位置设置
参数: 无
调用示例:
{}
触摸屏点击指定坐标(移动端)
参数:
x: number - X坐标(必需)y: number - Y坐标(必需)调用示例:
{
"x": 100,
"y": 200
}
滚动到指定坐标
参数:
x: number - X坐标(必需)y: number - Y坐标(必需)调用示例:
{
"x": 0,
"y": 1000
}
滚动元素到可见区域
参数:
selector: string - CSS选择器(必需)调用示例:
{ "selector": "#footer" }
获取页面性能指标
参数: 无
调用示例:
{}
返回数据包括:
开始收集JavaScript和CSS代码覆盖率
参数: 无
调用示例:
{}
停止收集代码覆盖率并返回结果
参数: 无
调用示例:
{}
获取页面无障碍树快照
参数:
selector: string - 限定范围的选择器(可选)调用示例:
{ "selector": "main" }
安装时钟控制(用于测试时间相关功能)
参数:
time: number | string - 初始时间调用示例:
{ "time": 1609459200000 }
设置系统时间
参数:
time: number | string - 时间戳或日期字符串(必需)调用示例:
{ "time": "2024-01-01T00:00:00Z" }
快进时间
参数:
time: number - 快进的毫秒数(必需)调用示例:
{ "time": 60000 }
暂停时钟(冻结时间)
参数: 无
调用示例:
{}
恢复时钟运行
参数: 无
调用示例:
{}
授予浏览器权限
参数:
permissions: array - 权限列表(必需)
origin: string - 限定域名调用示例:
{
"permissions": ["geolocation", "notifications"],
"origin": "https://example.com"
}
清除所有权限
参数: 无
调用示例:
{}
处理JavaScript对话框(alert, confirm, prompt)
参数:
action: 'accept' | 'dismiss' - 操作类型(必需)promptText: string - prompt对话框的输入文本调用示例:
{
"action": "accept",
"promptText": "My Input"
}
获取页面中所有frame
参数: 无
调用示例:
{}
以下是一些实际的使用场景,展示如何用自然语言与我交互来完成任务。
你说: "帮我看看 example.com 上有什么"
我会做:
你说: "在百度搜索 'OpenClaw 使用教程'"
我会做:
你说: "从 news.ycombinator.com 提取前10条新闻标题"
我会做:
你说: "帮我截取 github.com 首页的截图"
我会做:
你说: "帮我在这个登录页面输入用户名和密码"
我会做:
你说: "每隔5分钟检查一次这个网页的价格"
我会做:
以下是完整的 101 个工具的详细文档,供高级用户和开发者参考。
注意: 作为普通用户,你不需要了解这些技术细节。直接用自然语言告诉我你的需求即可。
1. browser_launch({ "headless": false })
2. browser_goto({ "url": "https://www.example.com" })
3. browser_get_title()
4. browser_screenshot({ "path": "screenshot.png", "fullPage": true })
5. browser_close()
1. browser_launch()
2. browser_goto({ "url": "https://example.com/login" })
3. browser_fill({ "selector": "#username", "value": "user@example.com" })
4. browser_fill({ "selector": "#password", "value": "password123" })
5. browser_click({ "selector": "button[type='submit']" })
6. browser_wait_for_selector({ "selector": ".dashboard", "timeout": 10000 })
7. browser_close()
1. browser_launch()
2. browser_goto({ "url": "https://example.com/products" })
3. browser_wait_for_selector({ "selector": ".product-list" })
4. browser_count({ "selector": ".product-item" })
5. browser_get_links()
6. browser_evaluate({ "script": "Array.from(document.querySelectorAll('.price')).map(e => e.textContent)" })
7. browser_close()
1. browser_launch()
2. browser_block_requests({ "patterns": ["*.jpg", "*.png", "*/ads/*"] })
3. browser_mock_response({
"urlPattern": "**/api/users",
"response": { "status": 200, "body": "{\"users\": []}" }
})
4. browser_goto({ "url": "https://example.com" })
5. browser_get_request_logs({ "limit": 50 })
6. browser_close()
1. browser_launch({
"deviceName": "iPhone 13",
"headless": false
})
2. browser_goto({ "url": "https://example.com" })
3. browser_tap({ "selector": ".mobile-menu" })
4. browser_screenshot({ "path": "mobile.png" })
5. browser_close()
1. browser_launch()
2. browser_goto({ "url": "https://example.com" })
3. browser_get_metrics()
4. browser_get_console_logs({ "limit": 100 })
5. browser_get_response_logs({ "limit": 50 })
6. browser_close()
/* ID选择器 */
#element-id
/* 类选择器 */
.class-name
/* 属性选择器 */
[data-testid="submit"]
[name="username"]
[type="text"]
/* 组合选择器 */
div.container > button.primary
form input[type="text"]
ul li:first-child
/* 伪类选择器 */
button:hover
input:focus
div:nth-child(2)
// 通过文本内容
browser_get_by_text({ "text": "Sign In" })
// 通过ARIA角色
browser_get_by_role({ "role": "button", "name": "Submit" })
// 通过标签
browser_get_by_label({ "text": "Email Address" })
// 通过占位符
browser_get_by_placeholder({ "text": "Enter your email" })
// 通过测试ID
browser_get_by_test_id({ "testId": "submit-button" })
Enter - 回车键Tab - Tab键Escape - Esc键Backspace - 退格键Delete - 删除键ArrowUp, ArrowDown, ArrowLeft, ArrowRight - 方向键Home, End - Home/End键PageUp, PageDown - 翻页键Control, Shift, Alt, Meta - 修饰键F1-F12 - 功能键browser_launch 启动浏览器browser_close 释放资源browser_wait_for_selector 确保元素加载完成waitUntil: 'networkidle' 等待网络请求完成headless: true 提高执行速度browser_block_requests 拦截不必要的资源(图片、广告)headless: false 查看浏览器操作过程slowMo 参数减慢操作速度browser_get_console_logs 查看页面错误recordVideo 和 recordTrace 记录操作过程// 所有工具调用失败时会返回错误信息
// 建议在使用时:
1. 先检查浏览器是否已启动
2. 使用 wait_for_selector 确保元素加载完成
3. 设置合理的超时时间
4. 使用 try-catch 处理异常情况
路径格式:Windows系统使用双反斜杠 \\ 或正斜杠 /
C:\\Users\\Admin\\file.pdf 或 C:/Users/Admin/file.pdfC:\Users\Admin\file.pdf超时设置:默认超时为30秒,可根据需要调整
截图返回:截图返回base64编码的图片数据
Cookie域名:设置Cookie时必须指定正确的域名
JavaScript执行:evaluate中的代码在页面上下文执行
设备模拟:支持的设备名称参考Playwright设备列表
权限授予:某些功能需要先授予权限
总计:101个核心工具
如遇到问题,请检查:
更多信息请参考:
Generate AI videos with Luma Dream Machine via AceDataCloud API. Use when creating videos from text prompts, generating videos from reference images, extending existing videos, or any video generation task with Luma. Supports text-to-video, image-to-video, and video extension.
Single-pass post-processing, URP Renderer Features, and mobile-safe screen effects for Unity
GPU architecture, precision types, fillrate, overdraw, baked lighting, and LOD optimization for Unity mobile/WebGL shaders
Node budgets, custom lighting, sub-graphs, precision control, and mobile workflows for Unity Shader Graph
Channel packing, variant reduction, shader_feature vs multi_compile, and build size optimization for Unity
Mobile-optimized water shaders with depth coloring, foam, Gerstner waves, refraction, and caustics for Unity URP