使用说明
PyDoll MCP浏览器工具
一个全面的浏览器自动化工具包,通过MCP(模型上下文协议)提供Chrome/Chromium控制。
全局在Claude Code中设置:
Linux/macOS:
# Clone to standard location
git clone https://github.com/coffeegrind123/pydoll-mcp.git ~/.pydoll-mcp
cd ~/.pydoll-mcp
# Create virtual environment and install dependencies
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Add to Claude Code (script auto-detects venv)
claude mcp remove pydoll-mcp && claude mcp add --scope user pydoll-mcp ~/.pydoll-mcp/pydoll-mcp
窗户:
# Clone to standard AppData location
git clone https://github.com/coffeegrind123/pydoll-mcp.git "$env:APPDATA\pydoll-mcp"
cd "$env:APPDATA\pydoll-mcp"
# Create virtual environment and install dependencies
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
添加到克劳德桌面:
在以下位置编辑您的Claude Desktop配置文件:
%APPDATA%\Claude\claude_desktop_config.json
添加此配置(替换 C:\Users\YourUsername 使用您的实际用户名):
{
"mcpServers": {
"pydoll-mcp": {
"command": "python",
"args": ["C:\\Users\\YourUsername\\AppData\\Roaming\\pydoll-mcp\\pydoll-mcp"]
}
}
}
替代方案(如果你知道你的确切路径):
# Run this in PowerShell to get your exact path:
echo "$env:APPDATA\pydoll-mcp\pydoll-mcp"
然后在配置中使用该完整路径。
重新启动克劳德桌面 加载MCP服务器。
注: 脚本会自动检测并使用本地
venv目录-无需指定venv Python路径!
快速开始
# Create and start browser session
mcp__pydoll-browser__create_browser_session(session_id="my-session", headless=True)
mcp__pydoll-browser__start_browser_session(session_id="my-session")
# Create tab and navigate
mcp__pydoll-browser__create_tab(browser_session_id="my-session", tab_id="tab1", url="https://example.com")
mcp__pydoll-browser__navigate(tab_id="tab1", url="https://google.com")
# Find and interact with elements
mcp__pydoll-browser__find_elements(tab_id="tab1", base_element_id="root", selector_type="css", selector_value="input")
mcp__pydoll-browser__get_element_text(element_id="element_id")
# Cleanup
mcp__pydoll-browser__close_browser_session(session_id="my-session")
可用工具
会话管理
create_browser_session-使用配置选项初始化浏览器start_browser_session-启动浏览器并创建初始选项卡close_browser_session-关闭浏览器并清理资源list_sessions-查看活动浏览器和选项卡会话get_session_info-获取详细的会话信息
选项卡操作
create_tab-使用可选URL创建新选项卡close_tab-关闭特定选项卡bring_tab_to_front-焦点选项卡navigate-导航到具有等待条件的URLgo_back/go_forward-浏览器历史导航refresh_page-重新加载当前页面
元素查找和交互
find_elements-使用CSS、XPath、ID、名称、标签、类选择器查找元素wait_for_element-等待元素出现click_element/click_element_js-点击元素type_text-在元素中输入文本clear_text-清除输入字段hover_element-鼠标悬停动作scroll_element-滚动操作drag_and_drop-拖放操作
元素特性
get_element_text-提取可见文本get_element_attribute-获取HTML属性get_element_property-获取JavaScript属性get_element_html-获取元素HTML内容get_element_bounds-获取位置和尺寸is_element_visible/is_element_enabled/is_element_selected-国家检查
页面信息
get_page_title-当前页面标题get_page_url-当前URLget_page_source-完整页面HTMLwait_for_page_load-等待页面完成
JavaScript执行
execute_script-在页面上下文中运行JavaScriptexecute_script_on_element-使用元素上下文运行JavaScriptwait_for_function-等待JavaScript条件
文件操作
take_screenshot-捕获页面或元素截图save_pdf-从页面生成PDFupload_file-处理文件上传download_file-从URL下载文件
事件监控
enable_page_events-监视页面加载事件enable_network_events-跟踪网络请求enable_runtime_events-捕获控制台和错误get_network_logs-检索请求日志
高级功能
handle_alert-管理JavaScript对话框set_cookies/get_cookies/delete_cookies-Cookie管理
公用事业
cleanup_elements-清除缓存的元素引用key_down/key_up/press_key-键盘操作
配置选项
浏览器会话参数
headless-不使用GUI运行(默认值:true)window_size-浏览器尺寸(例如“19201080”)user_agent-自定义用户代理字符串disable_images-块图像加载disable_javascript-禁用JS执行proxy-代理服务器配置
选择器类型
css-CSS选择器xpath-XPath表达式id-元素IDname-元素名称属性tag-HTML标记名称class-CSS类名
错误处理
工具返回常见问题的错误消息:
- 会话/选项卡ID无效
- 未找到元素
- 导航超时
- 脚本执行失败
需求
- 已安装Chrome/Chromium浏览器
- PyDoll MCP服务器正在运行
- 浏览器自动化的适当系统权限