Перейти к основному содержимому
Возникают проблемы с получением токена?
Свяжитесь с поддержкой

Интеграция расширения в Selenium с использованием Node.js

В этом руководстве мы подробно рассмотрим, как подключить браузерное расширение к Selenium WebDriver с использованием Node.js и использовать его для выполнения автоматизированных действий на веб-сайтах.

Шаг 1: Установка зависимостей

  1. Установите Node.js и npm (Node.js Package Manager) на вашем компьютере. Вы можете скачать их с официального сайта Node.js.

  2. Установите необходимые пакеты, используя npm:

npm install selenium-webdriver

Шаг 2: Изменение параметров расширения

Прежде чем начать автоматизацию с расширением, необходимо добавить начальные настройки расширения, обязательно нужно добавить clientKey в файл defaultSettings.json.

Для этого необходимо скачать архив расширения, распаковать расширение. В корне распакованного архива находится файл defaultSettings.json, в котором можно менять настройки (с описанием параметров можно ознакомиться на странице).

После внесения всех изменений сохраните их и снова упакуйте расширение в формат ZIP.

Шаг 3: Настройка Selenium WebDriver для работы с расширением

Теперь настройте Selenium WebDriver для использования созданного профиля браузера.
Для этого создайте файл index.js со следующим содержанием:

const { Builder, By, Key, until } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const path = require('path');

(async function example() {
// Путь к файлу расширения zip
const extensionPath = path.resolve(__dirname, './extension.zip');

// Создание объекта опций браузера
const options = new chrome.Options();

// Добавление расширения в опции браузера
options.addExtensions(extensionPath);

// Создание экземпляра веб-драйвера
const driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();

try {
// Открыть страницу Google
await driver.get('https://google.com/');

// Пример: поиск элемента на странице и взаимодействие с ним
const searchBox = await driver.findElement(By.name('q'));
await searchBox.sendKeys('Selenium with extension', Key.RETURN);

// Дождитесь результатов поиска
await driver.wait(until.titleContains('Selenium with extension'), 5000);
} finally {
// Закрыть браузер после использования
await driver.quit();
}
})();

Шаг 4: Написание автоматизированных действий

Теперь, когда у вас есть настроенный браузер с расширением, вы можете использовать методы WebDriver для выполнения автоматизированных действий на веб-сайте.

Пример автоматизированного действия:

// Предположим, вы хотите кликнуть по элементу на странице
driver.findElement(By.xpath("//button[@id='my-button']")).click();

Шаг 5: Запуск скрипта

Чтобы запустить автоматизированный скрипт, который откроет браузер и выполнит описанные действия, введите следующую команду в консоли:

node index.js

Для обновления расширения без потери настроек и данных скопируйте все необходимые файлы из старой версии, затем скачайте новую версию расширения, распакуйте её и замените старую версию новой.

Мы надеемся, что это руководство оказалось полезным. Если у вас возникнут вопросы, рекомендуем обратиться к официальной документации Selenium и документации вашего браузера.