[Перевод] Как байпасить reCaptcha V3 с помощью Selenium Python?

15 ИЮНЯ 2022

------------------------------------------------------------------------

Наш телеграм-канал: t.me/@mailsgun_online

Youtube: youtube.com/@mailsgun_online

------------------------------------------------------------------------

Автор оригинала: Abdul Basit
  • Перевод

*bypass — обход

Мы будем использовать библиотеку python Selenium для байпаса google reCaptcha v3. Следуйте пошаговой инструкции, чтобы получить результат.

Для примера мы будем использовать демо-версию Google reCaptcha api.

Здесь ссылка

Сначала необходимо отключить настройку защиты контента в браузере Chrome.

Для этого зайдите в Настройки в Chrome. И напишите «настройки сайта» в строке поиска.

Перейдите в настройки сайта и найдите «Защищенный контент».

Перейдите к защищенному контенту и отключите его.

Теперь перейдем к части кодирования.

В этой статье мы будем работать с Python 3. Мы будем использовать две библиотеки. Если вы хотите настроить Selenium и узнать, как это сделать — изучите эту статью.

Двигаемся дальше,

Установите библиотеку Beautiful Soup для скрипта.

pip install beautifulsoup4

Откройте файл-скрипт и импортируйте в него упомянутые библиотеки.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from http_request_randomizer.requests.proxy.requestProxy
import RequestProxy
import os, sys
import time,requests
from bs4 import BeautifulSoup

Установите «delayTime» и «audioToTextDelay» в соответствии с вашей скоростью интернета. Установленные значения работают для всех.

delayTime = 2
audioToTextDelay = 10

byPassUrl — это URL, на который вам нужно ориентироваться. Опция используется для выбора драйвера chrome, и ей передаются некоторые аргументы.

filename = ‘1.mp3’
byPassUrl = ‘https://www.google.com/recaptcha/api2/demo'
googleIBMLink = ‘https://speech-to-text-demo.ng.bluemix.net/'
option = webdriver.ChromeOptions()
option.add_argument('--disable-notifications')
option.add_argument("--mute-audio")

Остальная часть кода приведена ниже. Теперь я объясню, как это работает.

Когда скрипт запускается, проверяется поле I’m not a robot.

И дальше все появляется (как обычно).

После по скрипту выбирается кнопка аудио внизу слева.

И появляется вот это. После этого загружается аудио с именем «1.mp3».

Это займет несколько секунд, не волнуйтесь. После этого в браузере откроется новая вкладка, которая перейдет от речи watson к конвертеру в текст и загрузит файл.

Как видите, аудиофайл преобразуется в текст. Он копирует текст и вставляет его в текстовое поле.

И далее нажимается кнопка «Проверить».

Вот, смотрите… Проблема решена. Если у вас есть какие-либо проблемы и вопросы, пишите. Я отвечу на них как только смогу.

Код

Всех читателей нашего блога приглашаем ознакомиться с курсами по тестированию от OTUS.

— Demo Day курса «Python QA Engineer»

— Demo Day курса «Java QA Automation Engineer».

Source: habr1

Ну и напоследок напоминаю вам о нашем новом проекте vkserfing bot.