Функции
- Запуск сессий браузера с кастомными параметрами
- Навигация по 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: Максимальное время ожидания элемента в миллисекундах- 犀利士
=»wp-block-list»>
- Тип: число
- По умолчанию: 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": {}
}