@Churban789

Регистрация на Twitch с использованием Selenium вызвать ошибку «Ваш браузер не поддерживается". Что делать?

Вот код на python собственно говоря:
import time
import random
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

#Путь к ChromeDriver
chrome_driver_path = "C:/Users/*****/Downloads/chromedriver-win64/chromedriver-win64/chromedriver.exe" # Укажите правильный путь

# Настройки для Chrome
options = Options()
options.add_argument('--disable-extensions')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')

# Добавляем user-agent для маскировки под настоящий браузер
options.add_argument(
"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.6668.90 Safari/537.36"
)

# Отключение обнаружения Selenium
options.add_argument("--disable-blink-features=AutomationControlled")

# Создаем сервис с указанием пути к драйверу
service = Service(chrome_driver_path)
driver = webdriver.Chrome(service=service, options=options)

# Функция для логина на Twitch
def login_twitch(username, password):
driver.get("https://www.twitch.tv/login")

# Ожидание появления поля логина
username_field = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "login-username"))
)
password_field = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "password-input"))
)

# Вводим данные
username_field.send_keys(username)
password_field.send_keys(password)

# Отправляем форму
password_field.send_keys(Keys.RETURN)
time.sleep(5)

# Проверяем, нужен ли код подтверждения
if "Вам отправлен код подтверждения" in driver.page_source:
print("Введите код, отправленный на вашу почту:")
code = input("Код: ")
code_field = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "token-input"))
)
code_field.send_keys(code)
code_field.send_keys(Keys.RETURN)

time.sleep(10) # Даем время для полной загрузки после логина

# Функция для поиска стримеров с активированными Twitch Drops для Rust
def find_streamers_with_drops():
driver.get("https://www.twitch.tv/directory/game/Rust")
time.sleep(5) # Ждем загрузки страницы

# Находим стримеров с тэгом "Twitch Drops Enabled"
streamers = WebDriverWait(driver, 20).until(
EC.presence_of_all_elements_located(
(By.XPATH, "//a[contains(@href, '/')]//following::p[contains(text(), 'TwitchDropsEnabled')]")
)
)
return streamers

# Функция для переключения между стримами
def switch_streamer():
streamers = find_streamers_with_drops()
if not streamers:
print("Не удалось найти стримеров с активными drops.")
return

# Выбираем случайного стримера
streamer = random.choice(streamers)
streamer.click()
time.sleep(5) # Даем время на загрузку стрима

# Главная функция
def main(username, password):
login_twitch(username, password)

while True:
switch_streamer()
print("Переключился на нового стримера.")
time.sleep(random.randint(300, 600)) # Пауза от 5 до 10 минут перед переключением

# Ввод данных пользователя
if __name__ == "__main__":
twitch_username = input("Введите ваш Twitch логин: ")
twitch_password = input("Введите ваш Twitch пароль: ")

main(twitch_username, twitch_password)

Я пробовал разные user agent, но Twitch всё равно выдаёт сообщение «Ваш браузер не поддерживается».
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ответы на вопрос 1
Wispik
@Wispik
можно попробовать использовать
undetected-chromedriver
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы