使用说明
剧作家MCP服务器
使用Playwright提供浏览器自动化功能的模型上下文协议(MCP)服务器。此服务器使LLM能够通过结构化的可访问性快照与网页交互,从而绕过了对屏幕截图或视觉优化模型的需要。
关于此MCP服务器: 要了解如何连接和使用此MCP服务器,您可以参考官方的模型上下文协议文档,网址为 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控制台.
链接
- GitHub存储库: https://github.com/microsoft/playwright-mcp
- 演员库: https://github.com/apify/actor-playwright-mcp
- 规范MCP文档: https://mcp.apify.com
🚩 认领此MCP服务器
所有学分均归原作者所有 https://github.com/microsoft/playwright-mcp 要认领此服务器,请写信至 ai@apify.com.
主要特点
- 🚀 使用Playwright的可访问性树而不是基于像素的输入,以实现更快、更轻的操作
- 📊 仅适用于结构化数据,无需视觉模型
- 🎯 确定性地应用工具,避免屏幕截图方法的模糊性
- 🌐 支持 指定代理 (数据中心、住宅、定制)和其他Apify功能
用例
- 🌐 Web导航和表单填写
- 📋 结构化数据提取
- 🧪 LLM驱动的自动化测试
- 🤖 AI代理的浏览器自动化
工具(来源)
工具
Core automation
- 浏览器点击
- 标题:点击
- 说明:在网页上执行点击操作
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限ref(string):页面快照中的精确目标元素引用doubleClick(布尔值,可选):是否执行双击而不是单击button(字符串,可选):点击按钮,默认为左侧
- 只读: 错误的
- 浏览器_关闭
- 标题:关闭浏览器
- 说明:关闭页面
- 参数:无
- 只读: 真
- browser_console_消息
- 标题:获取控制台消息
- 说明:返回所有控制台消息
- 参数:无
- 只读: 真
- browser_drag
- 标题:拖动鼠标
- 说明:在两个元素之间执行拖放操作
- 参数:
startElement(string):人类可读的源元素描述,用于获得与元素交互的权限startRef(string):页面快照中的精确源元素引用endElement(string):人类可读的目标元素描述,用于获得与元素交互的权限endRef(string):页面快照中的精确目标元素引用
- 只读: 错误的
- 浏览器_评估
- 标题:评估JavaScript
- 描述:在页面或元素上计算JavaScript表达式
- 参数:
function(string):()=>{/*代码 /}或(元素)=>{/ 提供元素时的代码*/}element(string,可选):人类可读的元素描述,用于获得与元素交互的权限ref(string,可选):页面快照中的精确目标元素引用
- 只读: 错误的
- 浏览器文件上传
- 标题:上传文件
- 说明:上传一个或多个文件
- 参数:
paths(array):要上传的文件的绝对路径。可以是单个文件或多个文件。
- 只读: 错误的
- browser_fill_form
- 标题:填写表格
- 说明:填写多个表单字段
- 参数:
fields(数组):要填写的字段
- 只读: 错误的
- 浏览器处理对话框
- 标题:处理对话框
- 描述:处理对话框
- 参数:
accept(boolean):是否接受对话。promptText(string,可选):提示对话框中的提示文本。
- 只读: 错误的
- 浏览器切换
- 标题:鼠标悬停
- 描述:将鼠标悬停在页面上的元素上
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限ref(string):页面快照中的精确目标元素引用
- 只读: 真
- 浏览器导航
- 标题:导航到URL
- 描述:导航到URL
- 参数:
url(string):要导航到的URL
- 只读: 错误的
- 浏览器导航返回
- 标题:返回
- 说明:返回上一页
- 参数:无
- 只读: 真
- 浏览器网络请求
- 标题:列出网络请求
- 描述:返回自加载页面以来的所有网络请求
- 参数:无
- 只读: 真
- browser_press_key
- 标题:按键
- 说明:按键盘上的一个键
- 参数:
key(string):要按的键的名称或要生成的字符,例如ArrowLeft或a
- 只读: 错误的
- 浏览器大小
- 标题:调整浏览器窗口大小
- 说明:调整浏览器窗口大小
- 参数:
width(数字):浏览器窗口的宽度height(数字):浏览器窗口的高度
- 只读: 真
- 浏览器选择选项
- 标题:选择选项
- 说明:在下拉列表中选择一个选项
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限ref(string):页面快照中的精确目标元素引用values(array):在下拉列表中选择的值数组。这可以是单个值或多个值。
- 只读: 错误的
- 浏览器快照
- 标题:页面快照
- 描述:捕获当前页面的可访问性快照,这比截图更好
- 参数:无
- 只读: 真
- browser_take_screenshot
- 标题:截图
- 描述:截取当前页面的屏幕截图。您无法根据屏幕截图执行操作,请使用browser_snapshot进行操作。
- 参数:
type(字符串,可选):屏幕截图的图像格式。默认值为png。filename(string,可选):保存截图的文件名。默认为page-{timestamp}.{png|jpeg}如果没有指定。element(string,可选):人类可读的元素描述,用于获得对元素进行截图的权限。如果没有提供,将对视口进行截图。如果提供了元素,也必须提供ref。ref(string,可选):页面快照中的精确目标元素引用。如果没有提供,将对视口进行截图。若提供了ref,则也必须提供元素。fullPage(boolean,可选):当为true时,会截取整个可滚动页面的屏幕截图,而不是当前可见的视口。不能与元素截图一起使用。
- 只读: 真
- 浏览器类型
- 标题:键入文本
- 说明:在可编辑元素中键入文本
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限ref(string):页面快照中的精确目标元素引用text(string):要在元素中键入的文本submit(布尔值,可选):是否提交输入的文本(之后按Enter键)slowly(boolean,可选):是否一次键入一个字符。可用于触发页面中的密钥处理程序。默认情况下,一次填写整个文本。
- 只读: 错误的
- 浏览器等待
- 标题:等待
- 描述:等待文本出现或消失或经过指定时间
- 参数:
time(数字,可选):等待时间(秒)text(string,可选):等待的文本textGone(string,可选):等待消失的文本
- 只读: 真
Tab management
- 浏览器标签
- 标题:管理选项卡
- 说明:列出、创建、关闭或选择浏览器选项卡。
- 参数:
action(string):要执行的操作index(数字,可选):选项卡索引,用于关闭/选择。如果省略关闭,则关闭当前选项卡。
- 只读: 错误的
Browser installation
- 浏览器安装
- 标题:安装配置中指定的浏览器
- 说明:安装配置中指定的浏览器。如果您收到浏览器未安装的错误,请调用此命令。
- 参数:无
- 只读: 错误的
Coordinate-based (opt-in via --caps=vision)
- 浏览器_主页_点击_xy
- 标题:点击
- 说明:在给定位置单击鼠标左键
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限x(数字):X坐标y(数字):Y坐标
- 只读: 错误的
- 浏览器_主页_拖动_xy
- 标题:拖动鼠标
- 说明:将鼠标左键拖动到给定位置
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限startX(数字):开始X坐标startY(数字):开始Y坐标endX(数字):结束X坐标endY(数字):结束Y坐标
- 只读: 错误的
- 浏览器_家庭_移动_xy
- 标题:移动鼠标
- 说明:将鼠标移动到给定位置
- 参数:
element(string):人类可读的元素描述,用于获得与元素交互的权限x(数字):X坐标y(数字):Y坐标
- 只读: 真
PDF generation (opt-in via --caps=pdf)
- 浏览器_pdf_save
- 标题:另存为PDF
- 说明:将页面另存为PDF
- 参数:
filename(字符串,可选):用于保存pdf的文件名。默认为page-{timestamp}.pdf如果没有指定。
- 只读: 真
Verify (opt-in via --caps=verify)
- 浏览器验证元素可见
- 标题:验证元素是否可见
- 说明:验证元素在页面上是否可见
- 参数:
role(string):元素的角色。可以在快照中找到,如下所示:- {ROLE} "Accessible Name":accessibleName(string):元素的名称。可以在快照中找到,如下所示:- role "{ACCESSIBLE_NAME}"
- 只读: 真
- 浏览器验证列表可见
- 标题:验证列表是否可见
- 说明:验证列表在页面上是否可见
- 参数:
element(string):人类可读的列表描述ref(string):指向列表的精确目标元素引用items(array):要验证的项目
- 只读: 真
- 浏览器验证文本可见
- 标题:验证文本是否可见
- 说明:验证文本在页面上是否可见。如果可能的话,首选browser_verify_element_visible。
- 参数:
text(string):要验证的文本。可以在快照中找到,如下所示:- role "Accessible Name": {TEXT}或者像这样:- text: {TEXT}
- 只读: 真
- 浏览器验证值
- 标题:验证值
- 说明:验证元素值
- 参数:
type(string):元素的类型element(string):人类可读的元素描述ref(string):指向该元素的精确目标元素引用value(string):要验证的值。对于复选框,使用“true”或“false”。
- 只读: 真