C# Selenium решает проблемы Google ReCaptcha, iFrame - PullRequest
0 голосов
/ 09 апреля 2020

В настоящее время я автоматизирую некоторые процессы, используя селен, и мне нужно решить Google ReCaptcha. Технологией, используемой для решения ReCaptcha, является браузер Plugin Buster. Я вхожу в Google ReCaptcha, используя следующую команду

driver.SwitchTo().Frame(0);
driver.FindElement(By.Id("recaptcha-anchor")).Click();

. Теперь я переключаюсь обратно к рамке по умолчанию, используя:

driver.SwitchTo().DefaultContent();

. Теперь я пытаюсь войти в рамку меню Google ReCaptcha и нажать кнопку Buster. значок, используя следующий код.

driver.SwitchTo().Frame(Indexoftheframetoenter);
driver.FindElement(By.CssSelector("#solver-button")).Click();

Значок, чтобы щелкнуть

Проблема в том, что индекс кажется случайным меньшим числом, которое вызывает мой Код не нажимать на значок. Мне удалось «решить» эту проблему с помощью уродливых блоков try и catch, охватывающих определенное количество чисел c. Я не знаком с iFrame. Есть ли способ угадать эту спецификацию c iFrame?

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Google обнаруживает, что это бот и не выполняет звуковую капчу, поэтому этот метод будет малопригоден для вас через селен

0 голосов
/ 09 апреля 2020

Обновление. Это помогло мне записать то, что я хотел. Заметил, что вы также можете ввести iFrames, используя их имена. Я оставляю это здесь для сообщества.

driver.SwitchTo().Frame("recaptcha challenge");
...