浏览器自动化工具包

一个全面的浏览器自动化工具包,通过MCP(模型上下文协议)提供对Chrome/Chromium的控制,适用于网页测试、数据抓取和自动化任务。

  • by coffeegrind123
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 coffeegrind123/pydoll-mcp

使用说明

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 -导航到具有等待条件的URL
  • go_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 -当前URL
  • get_page_source -完整页面HTML
  • wait_for_page_load -等待页面完成

JavaScript执行

  • execute_script -在页面上下文中运行JavaScript
  • execute_script_on_element -使用元素上下文运行JavaScript
  • wait_for_function -等待JavaScript条件

文件操作

  • take_screenshot -捕获页面或元素截图
  • save_pdf -从页面生成PDF
  • upload_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 -元素ID
  • name -元素名称属性
  • tag -HTML标记名称
  • class -CSS类名

错误处理

工具返回常见问题的错误消息:

  • 会话/选项卡ID无效
  • 未找到元素
  • 导航超时
  • 脚本执行失败

需求

  • 已安装Chrome/Chromium浏览器
  • PyDoll MCP服务器正在运行
  • 浏览器自动化的适当系统权限