Помощь
Остались вопросы? Напишите в поддержку.
Популярные темы: Multilogin X, Multilogin 6,
-
Как получить токен Как использовать токен автоматизации в проекте Как получить ID профиля, папки и проекта Как получить ID пользователя Пример автоматизации с Selenium Пример автоматизации с Playwright Пример автоматизации Puppeteer Автоматический вход в Multilogin Автоматический сбор файлов cookie Автозапуск агента Преобразование списков прокси в файлы JSON для API Экспорт данных прокси из профилей FAQ: АвтоматизацияПодключение агента Проверка прокси Сохранение данных профиля Использование Multilogin на macOS Скорость работы приложения Multilogin не запускается Профиль и/или прокси не работает Ошибка: Не удалось получить данные профиля Отмена автоотправки логов агента Блокировка аккаунта: возможные решения FAQ: Устранение неполадок
-
Ошибка: Failed to get IP data: can't connect through proxy Ошибка: Javax.crypto.badpaddingexception: pad block corrupted Статус: Идет обновление… Загрузка (1) из 2 компонентов Профиль не запускается в Multilogin 6 Ошибка: Не удалось создать отпечаток Имя пользователя Windows не на латинице ведёт к неполадкам с подключением Ошибка: Mimic/Stealthfox executable is not found Браузерный профиль показывает статус «Ошибка» в Multilogin 6 Ошибка JavaScript при переключении в ночной режим в Multilogin 6 Другие ошибки и их решения в Multilogin 6
Пример автоматизации Puppeteer
Автор Yelena Varabyeva
Обновлена September 13th, 2024
Содержание
Puppeteer — это библиотека для Node.js, созданная Google, которая предоставляет простой API для управления Chromium через протокол DevTools. С её помощью можно автоматизировать задачи в профилях браузера Mimic в Multilogin. В этой статье мы покажем, как начать работу с Puppeteer.
Только профили Mimic можно автоматизировать с помощью Puppeteer. Stealthfox, основанный на Mozilla Firefox, им не поддерживается.
Начало работы
- Скачайте Node.js с официального сайта и установите его.
- Убедитесь, что Node.js и npm установлены правильно:
node -v
npm -v
- Создайте каталог проекта, затем выполните эту команду для инициализации нового проекта Node.js и создания файла
package.json
:
npm init -y
- Установите Puppeteer для вашего проекта:
npm install puppeteer
- Установите Axios и библиотеку MD5:
npm install axios
npm install md5
- Вставьте свои значения в указанные ниже переменные скрипта:
- Замените
https://multilogin.com
на нужный вам сайт в следующей строке:
await page.goto("https://multilogin.com/");
Запуск скрипта
- Убедитесь, что агент подключён — без него профиль не запустится.
- Убедитесь, что Puppeteer совместим с текущей версией ядра Mimic — проверьте журнал изменений Puppeteer и Mimic.
- Запустите файл
.js
с вашим кодом автоматизации.
Пример скрипта
const puppeteer = require('puppeteer');
const md5 = require('md5');
const axios = require('axios');
const HEADERS = {
"Content-Type": "application/json",
"Accept": "application/json",
};
const acc_info = {
// Insert your account information in both variables below
"email": "",
"password": md5("")
};
async function get_token() {
const signIn_URL = "https://api.multilogin.com/user/signin";
try {
const response = await axios.post(signIn_URL, acc_info, {
headers: HEADERS
});
return response.data.data.token;
} catch (error) {
console.log(error.message);
console.log("Response data:", error.response.data);
return false;
}
};
// Insert the Folder ID and the Profile ID below
const folder_id = "";
const profile_id = "";
async function start_browserProfile() {
const token = await get_token();
if (!token) return;
// Update HEADERS with bearer token retrived from the get_token function
HEADERS.Authorization = 'Bearer ' + token;
// Launch a profile defining "Puppeteer" as automation type
const profileLaunch_URL = `https://launcher.mlx.yt:45001/api/v2/profile/f/${folder_id}/p/${profile_id}/start?automation_type=puppeteer&headless_mode=false`;
try {
const response = await axios.get(profileLaunch_URL, {
headers: HEADERS
});
const browserURL = `http://127.0.0.1:${response.data.data.port}`;
// if you prefer to connect with browserWSEndpoint, try to get the webSocketDebuggerUrl by following request
// const {data : {webSocketDebuggerUrl}} = await axios.get(`${browserURL}/json/version`)
const browser = await puppeteer.connect({
browserURL: browserURL,
timeout: 10000
});
const page = await browser.newPage();
await page.goto("https://multilogin.com/");
await page.screenshot({
path: "example.png"
})
await page.close();
} catch (error) {
console.log("Error:", error.message);
if (error.response) {
console.log("Response data:", error.response.data);
}
}
};
start_browserProfile();