Функции
- Запуск сессий браузера с кастомными параметрами
- Навигация по URL-адресам
- Поиск элементов с помощью различных стратегий локатора
- Нажатие, ввод и взаимодействие с элементами
- Выполнение действий мышью (наведение, перетаскивание)
- Обработка ввода с клавиатуры
- Создание скриншотов
- Загрузка файлов
- Поддержка headless-режима
Поддерживаемые браузеры
- Chrome
- Firefox
Использование с Goose
Вариант 1: Установка в один клик
Скопируйте и вставьте ссылку ниже в адресную строку браузера, чтобы добавить это расширение на рабочий стол goose:
goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactions
Вариант 2: Добавьте вручную на рабочий стол или в CLI
- Название:
Selenium MCP
- Описание:
automates browser interactions
- Команда:
npx -y @angiejones/mcp-selenium
Использование с другими MCP-клиентами (например Claude Desktop и пр.):
{ "mcpServers": { "selenium": { "command": "npx", "args": ["-y", "@angiejones/mcp-selenium"] } } }
Установка через Smithery
Для автоматической установки MCP Selenium for Claude Desktop через Smithery:
npx -y @smithery/cli install @angiejones/mcp-selenium --client claude
Ручная установка
npm install -g @angiejones/mcp-selenium
Использование
Запустите сервер, выполнив команду:
mcp-selenium
Или используйте NPX в конфигурации MCP:
{ "mcpServers": { "selenium": { "command": "npx", "args": [ "-y", "@angiejones/mcp-selenium" ] } } }
Инструменты
start_browser
Запускает сессию браузера.
Параметры:
browser
(обязательный): Браузер для запуска- Тип: строка
- Enum: [«chrome», «firefox»]
options
: Параметры конфигурации браузера- Тип: объект
- Свойства:
headless
: Запустить браузер в безголовом режиме- Тип: boolean
arguments
: Дополнительные аргументы браузера- Тип: массив строк
Пример:
{ "tool": "start_browser", "parameters": { "browser": "chrome", "options": { "headless": true, "arguments": ["--no-sandbox"] } } }
navigate
Переход к URL-адресу.
Параметры:
url
(обязательный): URL-адрес для перехода- Тип: строка
Пример:
{ "tool": "navigate", "parameters": { "url": "https://www.example.com" } }
find_element
Находит элемент на странице.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "find_element", "parameters": { "by": "id", "value": "search-input", "timeout": 5000 } }
click_element
Нажимает на элемент.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "click_element", "parameters": { "by": "css", "value": ".submit-button" } }
send_keys
Отправляет символы элементу (вводит текст).
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
text
(обязательный): Текст для ввода в элемент- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "send_keys", "parameters": { "by": "name", "value": "username", "text": "testuser" } }
get_element_text
Получает text()
элемента.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "get_element_text", "parameters": { "by": "css", "value": ".message" } }
hover
Перемещает мышь для наведения на элемент.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "hover", "parameters": { "by": "css", "value": ".dropdown-menu" } }
drag_and_drop
Перетаскивает элемент и опускает его на другой элемент.
Параметры:
by
(обязательный): Стратегия локатора для начального элемента- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора начального элемента- Тип: строка
targetBy
(обязательный): Стратегия локатора для целевого элемента- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
targetValue
(обязательный): Значение для стратегии локатора целевого элемента- Тип: строка
timeout
: Максимальное время ожидания элементов в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "drag_and_drop", "parameters": { "by": "id", "value": "draggable", "targetBy": "id", "targetValue": "droppable" } }
double_click
Выполняет двойной щелчок на элементе.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "double_click", "parameters": { "by": "css", "value": ".editable-text" } }
right_click
Выполняет щелчок правой кнопкой мыши (контекстный клик) на элементе.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "double_click", "parameters": { "by": "css", "value": ".editable-text" } }
press_key
Имитирует нажатие клавиши клавиатуры.
Параметры:
key
(обязательный): Клавиша для нажатия (например ‘Enter’, ‘Tab’, ‘a’ и т. д.)- Тип: строка
Пример:
{ "tool": "press_key", "parameters": { "key": "Enter" } }
upload_file
Загружает файл с помощью элемента ввода файла.
Параметры:
by
(обязательный): Стратегия локатора- Тип: строка
- Enum: [«id», «css», «xpath», «name», «tag», «class»]
value
(обязательный): Значение для стратегии локатора- Тип: string
filePath
(обязательный): Абсолютный путь к файлу для загрузки- Тип: строка
timeout
: Максимальное время ожидания элемента в миллисекундах- Тип: число
- По умолчанию: 10000
Пример:
{ "tool": "upload_file", "parameters": { "by": "id", "value": "file-input", "filePath": "/path/to/file.pdf" } }
take_screenshot
Делает скриншот текущей страницы.
Параметры:
outputPath
(необязательный): Путь, по которому будет сохранен скриншот. Если не указано, возвращает данные в формате base64.- Тип: строка
Пример:
{ "tool": "take_screenshot", "parameters": { "outputPath": "/path/to/screenshot.png" } }
close_session
Закрывает текущую сессию браузера и очищает ресурсы.
Параметры: Не требуются
Пример:
{ "tool": "close_session", "parameters": {} }