Looking for international version of our service? Go to 2captcha.com

Туториалы по обходу капчи

Как обойти капчу с использованием Selenium

#Как распознать, решить и обойти капчу автоматически с помощью Selenium

Как обойти капчу с использованием Selenium

Что такое Selenium

Selenium WebDriver — это веб-фреймворк, который позволяет автоматизировать взаимодействие с браузерами. С его помощью можно создавать решения для обхода капч, управляя браузером так, как это делает реальный пользователь. Selenium поддерживает несколько языков программирования и может работать как локально, так и на удалённых машинах.

Для обхода капч в Selenium требуется интеграция со службой автоматического распознавания, такой как API 2Captcha. Это позволяет решать капчи программно, что особенно полезно для задач веб-скрейпинга, тестирования и создания ботов.

Selenium также поддерживает работу в headless-режиме (без графического интерфейса), что делает его удобным для автоматизации. Кроме того, существуют плагины, которые помогают скрыть факт автоматизации, что важно для успешного парсинга данных.


Как обойти капчу с использованием Selenium на Python, Java, C#, Ruby и других языках

С помощью API 2Captcha и Selenium можно обходить различные типы капч, включая reCAPTCHA. Ниже приведён пример решения reCAPTCHA с использованием Python и Selenium.

Пример: решение reCAPTCHA с использованием Python и Selenium

Рассмотрим пошаговый процесс обхода reCAPTCHA на странице https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php:

  1. Установка необходимых компонентов
    Для работы потребуются следующие библиотеки:

    • 2captcha-python: официальный Python SDK для интеграции с API 2Captcha.
    • Selenium: для управления браузером.
    • webdriver-manager: для автоматической загрузки и управления драйверами браузеров.

    Установите библиотеки с помощью команды:

    python -m pip install 2captcha-python selenium webdriver-manager  
  2. Поиск параметра site key
    Site key — это уникальный идентификатор, который Google присваивает каждой форме reCAPTCHA. Чтобы решить капчу, необходимо передать этот ключ в API.

    Чтобы найти site key:

    1. Перейдите на страницу https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php.
    2. Откройте инструменты разработчика (Ctrl/Cmd + Shift + I).
    3. Найдите атрибут data-sitekey и скопируйте его значение.
  3. Решение капчи
    Ниже приведён пример кода для решения reCAPTCHA с использованием Selenium и API 2Captcha. Замените 2CAPTCHA_API_KEY на ваш API-ключ и SITE_KEY на значение, полученное на предыдущем шаге.

    from selenium.webdriver.common.by import By
    from twocaptcha import TwoCaptcha
    from selenium.webdriver.chrome.service import Service as ChromeService
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium import webdriver
    
    # Инициализация WebDriver
    driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
    
    # Загрузка целевой страницы
    captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
    driver.get(captcha_page_url)
    
    # Решение капчи
    print("Решение капчи")
    solver = TwoCaptcha("2CAPTCHA_API_KEY")
    response = solver.recaptcha(sitekey='SITE_KEY', url=captcha_page_url)
    code = response['code']
    print(f"Капча успешно решена. Код решения: {code}")
    
    # Установка решённой капчи
    recaptcha_response_element = driver.find_element(By.ID, 'g-recaptcha-response')
    driver.execute_script(f'arguments[0].value = "{code}";', recaptcha_response_element)
    
    # Отправка формы
    submit_btn = driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]')
    submit_btn.click()
    
    # Пауза для проверки результата
    input("Нажмите Enter для продолжения")
    driver.close()

    В этом коде:

    • Инициализируется WebDriver для управления браузером.
    • Загружается целевая страница с reCAPTCHA.
    • Используется API 2Captcha для решения капчи.
    • Решённый код капчи передаётся в форму, после чего она отправляется.
  4. Запуск и проверка
    После выполнения кода капча будет решена, и вы увидите экран успешной отправки формы.


Решение капчи с использованием 2Captcha API и Selenium на других языках

API 2Captcha поддерживает интеграцию с Selenium на различных языках программирования. Ниже приведены ссылки на документацию и модули для самых популярных языков:


Заключение

Интеграция API 2Captcha с Selenium позволяет эффективно решать капчи, что особенно полезно для автоматизации задач, таких как веб-скрейпинг, тестирование и создание ботов. С помощью приведённых примеров и инструкций вы сможете легко внедрить решение капч в свои проекты на Python, Java, C#, Ruby и других языках.

Для получения дополнительной информации о возможностях API 2Captcha посетите официальную документацию.