返回市场
演员-剧透-MCP

演员-剧透-MCP

作者:apify4 星标更新:2025-09-26

项目介绍

Playwright MCP 服务器

Actor 徽章

这是一个使用 Playwright 提供浏览器自动化功能的 Model Context Protocol (MCP) 服务器。此服务器使 LLM 能够通过结构化的可访问快照与网页进行交互,从而绕过了对截图或视觉调优模型的需求。

关于这个 MCP 服务器: 若要了解如何连接并使用此 MCP 服务器,请参阅官方的 Model Context Protocol 文档 mcp.apify.com

连接 URL

MCP 客户端可以连接到此服务器的地址如下:

https://jiri-spilka--playwright-mcp-server.apify.actor/mcp

客户端配置

要连接到此 MCP 服务器,请在您的 MCP 客户端中使用以下配置:

{
  "mcpServers": {
    "playwright": {
      "url": "https://jiri-spilka--playwright-mcp-server.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

注意:YOUR_APIFY_TOKEN 替换为您实际的 Apify API 令牌。您可以在 Apify 控制台 中找到您的令牌。

链接

🚩 声明此 MCP 服务器

所有荣誉归于原始作者 https://github.com/microsoft/playwright-mcp 如需声明此服务器,请发送邮件至 ai@apify.com

主要特性

  • 🚀 使用 Playwright 的可访问性树而不是基于像素的输入,实现更快、更轻的操作
  • 📊 仅处理结构化数据——无需视觉模型
  • 🎯 确定性地应用工具,避免截图方法的模糊性
  • 🌐 支持 Apify 代理(数据中心、住宅、自定义)和其他 Apify 功能

使用场景

  • 🌐 网页导航和表单填写
  • 📋 结构化数据提取
  • 🧪 LLM 驱动的自动化测试
  • 🤖 用于 AI 代理的浏览器自动化

工具 (来源)

工具

<!--- 由 update-readme.js 生成的工具 --> <details> <summary><b>核心自动化</b></summary> <!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_click
    • 标题:点击
    • 描述:执行网页上的点击操作
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • ref (字符串):来自页面快照的确切目标元素引用
      • doubleClick (布尔值,可选):是否执行双击而非单击
      • button (字符串,可选):要点击的按钮,默认为左键
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_close
    • 标题:关闭浏览器
    • 描述:关闭页面
    • 参数:无
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_console_messages
    • 标题:获取控制台消息
    • 描述:返回所有控制台消息
    • 参数:无
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_drag
    • 标题:拖拽鼠标
    • 描述:在两个元素之间执行拖放操作
    • 参数:
      • startElement (字符串):用于获取与源元素交互权限的人类可读源元素描述
      • startRef (字符串):来自页面快照的确切源元素引用
      • endElement (字符串):用于获取与目标元素交互权限的人类可读目标元素描述
      • endRef (字符串):来自页面快照的确切目标元素引用
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_evaluate
    • 标题:评估 JavaScript
    • 描述:在页面或元素上评估 JavaScript 表达式
    • 参数:
      • function (字符串):() => { /* 代码 / } 或 (element) => { / 代码 */ } 当提供元素时
      • element (字符串,可选):用于获取与元素交互权限的人类可读元素描述
      • ref (字符串,可选):来自页面快照的确切目标元素引用
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_file_upload
    • 标题:上传文件
    • 描述:上传一个或多个文件
    • 参数:
      • paths (数组):要上传的文件的绝对路径。可以是一个文件或多个文件。
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_fill_form
    • 标题:填写表单
    • 描述:填写多个表单字段
    • 参数:
      • fields (数组):要填写的字段
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_handle_dialog
    • 标题:处理对话框
    • 描述:处理对话框
    • 参数:
      • accept (布尔值):是否接受对话框。
      • promptText (字符串,可选):提示对话框中的文本。
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_hover
    • 标题:悬停鼠标
    • 描述:在页面上悬停元素
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • ref (字符串):来自页面快照的确切目标元素引用
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_navigate
    • 标题:导航到 URL
    • 描述:导航到 URL
    • 参数:
      • url (字符串):要导航到的 URL
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_navigate_back
    • 标题:返回
    • 描述:返回到前一页
    • 参数:无
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_network_requests
    • 标题:列出网络请求
    • 描述:返回加载页面以来的所有网络请求
    • 参数:无
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_press_key
    • 标题:按下按键
    • 描述:按下键盘上的按键
    • 参数:
      • key (字符串):要按下的按键名称或要生成的字符,例如 ArrowLefta
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_resize
    • 标题:调整浏览器窗口大小
    • 描述:调整浏览器窗口大小
    • 参数:
      • width (数字):浏览器窗口宽度
      • height (数字):浏览器窗口高度
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_select_option
    • 标题:选择选项
    • 描述:在下拉菜单中选择一个选项
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • ref (字符串):来自页面快照的确切目标元素引用
      • values (数组):要在下拉菜单中选择的值数组。这可以是一个值或多个值。
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_snapshot
    • 标题:页面快照
    • 描述:捕获当前页面的可访问性快照,这比截图更好
    • 参数:无
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_take_screenshot
    • 标题:截取屏幕
    • 描述:截取当前页面的屏幕。您不能根据截图执行操作,使用 browser_snapshot 执行操作。
    • 参数:
      • type (字符串,可选):截图的图像格式。默认是 png。
      • filename (字符串,可选):保存截图的文件名。如果未指定,默认为 page-{时间戳}.{png|jpeg}
      • element (字符串,可选):用于获取截图权限的人类可读元素描述。如果没有提供,将截取视口的截图。如果提供了元素,则必须提供 ref。
      • ref (字符串,可选):来自页面快照的确切目标元素引用。如果没有提供,将截取视口的截图。如果提供了 ref,则必须提供 element。
      • fullPage (布尔值,可选):当为 true 时,截取整个滚动页面的截图,而不是当前可见的视口。不能与元素截图一起使用。
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_type
    • 标题:输入文本
    • 描述:向可编辑元素输入文本
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • ref (字符串):来自页面快照的确切目标元素引用
      • text (字符串):要输入到元素中的文本
      • submit (布尔值,可选):是否提交输入的文本(在后面按 Enter)
      • slowly (布尔值,可选):是否一次输入一个字符。对于触发页面中的键处理程序很有用。默认情况下,整个文本会一次性填充。
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_wait_for
    • 标题:等待
    • 描述:等待文本出现或消失或指定的时间过去
    • 参数:
      • time (数字,可选):等待的时间(秒)
      • text (字符串,可选):要等待的文本
      • textGone (字符串,可选):要等待消失的文本
    • 只读:true
</details> <details> <summary><b>标签管理</b></summary> <!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_tabs
    • 标题:管理标签
    • 描述:列出、创建、关闭或选择浏览器标签。
    • 参数:
      • action (字符串):要执行的操作
      • index (数字,可选):标签索引,用于关闭/选择。如果关闭时省略,则关闭当前标签。
    • 只读:false
</details> <details> <summary><b>浏览器安装</b></summary> <!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_install
    • 标题:安装配置中指定的浏览器
    • 描述:安装配置中指定的浏览器。如果您遇到有关浏览器未安装的错误,请调用此函数。
    • 参数:无
    • 只读:false
</details> <details> <summary><b>基于坐标的(通过 --caps=vision 选择加入)</b></summary> <!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_mouse_click_xy
    • 标题:点击
    • 描述:在给定位置点击左键
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • x (数字):X 坐标
      • y (数字):Y 坐标
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_mouse_drag_xy
    • 标题:拖拽鼠标
    • 描述:将左键拖拽到给定位置
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • startX (数字):起始 X 坐标
      • startY (数字):起始 Y 坐标
      • endX (数字):结束 X 坐标
      • endY (数字):结束 Y 坐标
    • 只读:false
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_mouse_move_xy
    • 标题:移动鼠标
    • 描述:将鼠标移动到给定位置
    • 参数:
      • element (字符串):用于获取与元素交互权限的人类可读元素描述
      • x (数字):X 坐标
      • y (数字):Y 坐标
    • 只读:true
</details> <details> <summary><b>PDF 生成(通过 --caps=pdf 选择加入)</b></summary> <!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_pdf_save
    • 标题:保存为 PDF
    • 描述:将页面保存为 PDF
    • 参数:
      • filename (字符串,可选):保存 PDF 的文件名。如果未指定,默认为 page-{时间戳}.pdf
    • 只读:true
</details> <details> <summary><b>验证(通过 --caps=verify 选择加入)</b></summary> <!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_verify_element_visible
    • 标题:验证元素可见
    • 描述:验证元素在页面上可见
    • 参数:
      • role (字符串):元素的 ROLE。可以在快照中这样找到:- {ROLE} "可访问名称":
      • accessibleName (字符串):元素的 ACCESSIBLE_NAME。可以在快照中这样找到:- 角色 "{ACCESSIBLE_NAME}"
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_verify_list_visible
    • 标题:验证列表可见
    • 描述:验证列表在页面上可见
    • 参数:
      • element (字符串):人类可读的列表描述
      • ref (字符串):指向列表的确切目标元素引用
      • items (数组):要验证的项目
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_verify_text_visible
    • 标题:验证文本可见
    • 描述:验证文本在页面上可见。尽可能使用 browser_verify_element_visible。
    • 参数:
      • text (字符串):要验证的 TEXT。可以在快照中这样找到:- 角色 "可访问名称": {TEXT} 或这样:- 文本: {TEXT}
    • 只读:true
<!-- 注意:这是由 update-readme.js 生成的 -->
  • browser_verify_value
    • 标题:验证值
    • 描述:验证元素值
    • 参数:
      • type (字符串):元素类型
      • element (字符串):人类可读的元素描述
      • ref (字符串):指向元素的确切目标元素引用
      • value (字符串):要验证的值。对于复选框,使用 "true" 或 "false"。
    • 只读:true
</details> <!--- 工具生成部分结束 -->