Помощь
Остались вопросы? Напишите в поддержку.
Популярные темы: 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
Пример автоматизации с Selenium
Автор Yelena Varabyeva
Обновлена August 20th, 2024
Содержание
Этот простой скрипт на Python использует библиотеку Selenium для работы с профилем в Multilogin X и выполняет следующие действия:
- Войти в систему, используя Multilogin X API.
- Запустить профиль с Selenium в качестве выбранного типа автоматизации.
- Получить порт, который использует запущенный профиль.
- Запустить драйвер Selenium на localhost, используя полученный порт.
- Управлять браузером с помощью драйвера.
- Закрыть профиль через 5 секунд.
Начало работы
- Установите эти библиотеки Python:
- requests
- selenium
- Укажите свои значения в скрипте:
Запуск скрипта
- Проверьте подключение к агенту: он отвечает за запуск профилей.
- Этот скрипт по умолчанию работает для Mimic. Для Stealthfox вместо
options=ChromiumOptions()
укажитеoptions=Options()
в этой строке:driver = webdriver.Remote(command_executor=f'{LOCALHOST}:{selenium_port}', options=ChromiumOptions())
- Запустите файл
.py
с вашим кодом автоматизации.
Пример скрипта
import requests
import hashlib
import time
from selenium import webdriver
from selenium.webdriver.chromium.options import ChromiumOptions
from selenium.webdriver.firefox.options import Options
MLX_BASE = "https://api.multilogin.com"
MLX_LAUNCHER = "https://launcher.mlx.yt:45001/api/v1"
MLX_LAUNCHER_V2 = (
"https://launcher.mlx.yt:45001/api/v2" # recommended for launching profiles
)
LOCALHOST = "http://127.0.0.1"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}
# TODO: Insert your account information in both variables below
USERNAME = ""
PASSWORD = ""
# TODO: Insert the Folder ID and the Profile ID below
FOLDER_ID = ""
PROFILE_ID = ""
def signin() -> str:
payload = {
"email": USERNAME,
"password": hashlib.md5(PASSWORD.encode()).hexdigest(),
}
r = requests.post(f"{MLX_BASE}/user/signin", json=payload)
if r.status_code != 200:
print(f"\nError during login: {r.text}\n")
else:
response = r.json()["data"]
token = response["token"]
return token
def start_profile() -> webdriver:
r = requests.get(
f"{MLX_LAUNCHER_V2}/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start?automation_type=selenium",
headers=HEADERS,
)
response = r.json()
if r.status_code != 200:
print(f"\nError while starting profile: {r.text}\n")
else:
print(f"\nProfile {PROFILE_ID} started.\n")
selenium_port = response["data"]["port"]
driver = webdriver.Remote(
command_executor=f"{LOCALHOST}:{selenium_port}", options=ChromiumOptions()
)
# For Stealthfox profiles use: options=Options()
# For Mimic profiles use: options=ChromiumOptions()
return driver
def stop_profile() -> None:
r = requests.get(f"{MLX_LAUNCHER}/profile/stop/p/{PROFILE_ID}", headers=HEADERS)
if r.status_code != 200:
print(f"\nError while stopping profile: {r.text}\n")
else:
print(f"\nProfile {PROFILE_ID} stopped.\n")
token = signin()
HEADERS.update({"Authorization": f"Bearer {token}"})
driver = start_profile()
driver.get("https://multilogin.com/")
time.sleep(5)
stop_profile()