Как лучше пройти ReCaptcha V3?

Ссылка скопирована
1 ответ

По вводным: имеется сайт с которого парсим информацию:https://nsso.ru/check_policy/gop/innПо вводным: он защищён с помощью рекапчи v3.

По вводным: написал код с использованием библиотеки от RuCaptcha:

import os import time import random import pandas as pd import undetected_chromedriver as uc from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from twocaptcha import TwoCaptcha from bs4 import BeautifulSoup class MainParser: def __init__(self): self.solver = TwoCaptcha('API_KEY') self.driver = uc.Chrome() self.excel_data = pd.read_excel("Список ИНН.xlsx") self.excel_out_path = "out.xlsx" self.inn_list = self.excel_data["ИНН"].tolist() def bypass_captcha(self): self.driver.get('https://nsso.ru/check_policy/gop/inn/') token = self.driver.find_element(By.CSS_SELECTOR, ".g-recaptcha").get_attribute("data-sitekey") solved_token = self.solver.recaptcha( sitekey=token, url='https://nsso.ru/check_policy/gop/inn/', score=0.7, version='v3' ) element = self.driver.find_element(By.CSS_SELECTOR, "#g-recaptcha-response") self.driver.execute_script("arguments[0].value = arguments[1];", element, solved_token['code']) print(solved_token) def search_by_inn(self, inn): table_data = [] self.driver.find_element(By.CSS_SELECTOR, "#sDocNo_INN").send_keys(inn) self.driver.find_element(By.CSS_SELECTOR, ".g-recaptcha").click() # После нажатия этой кнопки ошибка def data_processing(self): for inn in self.inn_list: self.bypass_captcha() self.search_by_inn(inn) if __name__ == '__main__': parser = MainParser() parser.data_processing()

По вводным: ранее оно работало и без:

element = self.driver.find_element(By.CSS_SELECTOR, "#g-recaptcha-response") self.driver.execute_script("arguments[0].value = arguments[1];", element, solved_token['code'])

Не знаю как так)

По вводным: в качестве библиотеки для работы с браузером использую Undetected Chromedriver.

Сейчас ситуация такая: uPD: при нажатии кнопки отправки пишет: Защита от спама не пройдена
По вводным: uPD: Добавил полный код и скрин:
692722e78774a904961980.png

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

ReCaptcha v3 “пройти” через Selenium в смысле автоматического обхода защиты — плохая и ненадёжная идея. v3 как раз оценивает поведение пользователя, репутацию браузера, IP, историю действий и контекст страницы. Если это ваш сайт или тестовый стенд, правильный путь — не обходить капчу, а настроить тестовый режим.

Для разработки используйте тестовые ключи Google reCAPTCHA или отдельные site key/secret для dev-окружения. В тестах backend может принимать специальный mock-token только на staging/local, но никогда на production.

Нормальная схема для автотестов:

  • на production работает реальная reCAPTCHA;
  • на staging включается тестовый site key;
  • backend умеет проверять mock-токен только при включённом test mode;
  • тесты не пытаются имитировать человека через Selenium.

Если проблема в том, что ваш легальный пользователь получает низкий score, улучшайте UX и технические сигналы: не отправляйте форму мгновенно после загрузки, не ломайте cookies, не режьте JS Google, не используйте подозрительные прокси, проверяйте корректность домена в настройках ключа.

На backend не принимайте решение только по score без контекста. Например, при низком score можно показать дополнительную проверку, ограничить частоту, отправить заявку на модерацию или включить email-подтверждение.

Итог: для своего проекта делайте тестовый режим, а не Selenium-обход. Для production проверяйте правильные ключи, домены, score threshold и fallback-сценарий. Попытки “обмануть” v3 обычно приводят к нестабильным тестам и риску блокировки.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно