使用说明
使用MCP + Playwright + Gemini LLM实现浏览器自动化
使用自然语言指令控制网页浏览器 你可以看到浏览器的实际运行情况!
这结合了:
- Playwright MCP 服务器提供浏览器自动化功能
- 谷歌Gemini人工智能解释您的指令并决定采取哪些浏览器操作
- Python MCP 客户端将一切连接在一起
先决条件
✅ 所有已安装:
- Python 3.11
- Node.js 版本 22.21.0
- npx 版本 10.9.4
安装
- 安装Python依赖项:
pip install google-genai mcp python-dotenv
- 设置您的Gemini API密钥:
这个(或“该”)
.env文件已包含您的API密钥:
GEMINI_API_KEY=AIzaSyBvQQ0N2P_fimDDUPphRQc_Rrmpd5Fo_28
- Playwright MCP服务器 当你运行脚本时,它将通过 npx 自动下载。
使用方法
交互模式
不带参数运行以进入交互模式:
python browser_automation.py
系统会提示您输入指令。
命令行模式
将您的指令作为命令行参数传递:
python browser_automation.py "Open https://news.ycombinator.com and tell me the first story"
python browser_automation.py "Go to https://github.com and take a screenshot"
python browser_automation.py "Navigate to https://www.google.com and search for Python tutorials"
示例说明
以下是一些你可以让它做的事情:
"Open https://www.google.com""Navigate to https://news.ycombinator.com and view the page content""Go to https://github.com and take a screenshot""Open https://www.wikipedia.org and search for 'artificial intelligence'""Navigate to https://www.python.org and tell me the latest Python version"
它是如何工作的
- 你提供 自然语言指令
- Gemini LLM 理解您的指令并决定使用哪种浏览器自动化工具
- 剧作家MCP 执行浏览器操作(导航、点击、输入、截图等)
- 结果 被发送回Gemini,Gemini提供一个便于人类理解的总结
可用的浏览器操作
Playwright MCP 服务器提供以下工具:
browser_navigate- 导航到一个URLbrowser_snapshot- 获取当前页面内容browser_click- 点击元素browser_type- 在字段中输入文本browser_screenshot- 截图browser_wait_for- 等待元素或条件browser_tabs- 管理浏览器标签页- 还有很多!
故障排除
DNS解析错误
如果你看到 ERR_NAME_NOT_RESOLVED这意味着您的网络无法访问该网站。请尝试:
- 检查你的网络连接
- 尝试访问不同的网站
- 使用IP地址而不是域名
模型过载
如果你看到 503 UNAVAILABLE - model overloadedGemini模型很忙。脚本使用了 gemini-2.0-flash-exp 这通常是可用的。你也可以尝试:
gemini-1.5-flashgemini-1.5-pro
模式错误
该脚本包含了积极的模式清理功能,以处理MCP与Gemini函数调用格式之间的不兼容问题。
浏览器显示模式
默认情况下,浏览器窗口是 可见(头部模式) 这样你就可以观看自动化过程的发生!
要隐藏浏览器窗口,请编辑 browser_automation.py 并且改变:
HEADLESS = False # Change to True to hide the browser
文件
browser_automation.py- 你唯一需要的脚本! 完整的浏览器自动化.env- 包含您的Gemini API密钥requirements.txt- Python 依赖项README.md- 这个文件
下一步行动
- 修改其中的指令
main_simple.py以满足您的需求 - 通过扩展代码构建多步骤自动化流程
- 添加错误处理和重试逻辑
- 创建一个用于交互式对话的循环
功劳/学分/资历(根据上下文具体含义而定)
- Playwright MCP(微软Playwright多浏览器配置文件): https://github.com/microsoft/playwright-mcp
- Google Gemini: https://ai.google.dev/
- MCP(模型上下文协议):https://modelcontextprotocol.io/