2014-10-02 2 views
1

ЭТО НЕ О ТОМ, ЧТОБЫ ПОЛУЧИТЬ ТЕКСТ ИЗ CATPCHAпредставления капчу с селеном с помощью питона

В основном моя проблема заключается в том, что после того, как я извлечь текст из капчи и введите его в соответствующем поле, и имитировать " return ', используя element.send_keys (Keys.RETURN), появляется предупреждающее поле, в котором указано, что captcha был неправильным, и появляется новый captcha, хотя я могу проверить, соответствует ли текст captcha. Я также попытался использовать действие «click» на кнопке submit, но не помогло.

Интересная вещь, которую я заметил, заключалась в том, что если я буду автоматизировать процесс до ввода текста в виде штрихов, а затем нажмите enter/click submit, все будет хорошо. Поэтому я думаю, что есть некоторые проблемы в моем способе моделирования возврата/щелчка через селен. Любая идея, в чем проблема.

Только для записи я использую tesseract OCR с pytesseract wrapper для python для декодирования captchas, и я получаю CORRECT текстовые выходы в 90% + случаях, поэтому его не только из-за неправильного текста. Я также проверил удаление любых ведущих или конечных пробелов с помощью метода strip().

+0

отсылает сайт http://result.rgpv.ac.in/exam/programselect.aspx и попробуйте отменить это для Barch roll-no 0842ar121011 semester 4 –

+0

см. этот gist, содержащий мой код scrapper https://gist.github.com/ishankhare07/2a96ca58981ba99aca91 –

ответ

2

Ваш скрипт правильно, вам просто нужно вставить time.sleep(5) до подачи окончательной формы: https://gist.github.com/pratyushmittal/68f67c20e4fb6f0cd072/5b9bec7de5e8fadd65a22e729015fc89de6dfca8

Селена представляет форму искаженной, как только страница загрузится. В текущем случае веб-сайт отмечает это как роботизированное действие и отображает ошибку.

В качестве альтернативы, вы можете также использовать RoboBrowser идти без Селена (хотя это тоже потребует sleep): https://gist.github.com/pratyushmittal/68f67c20e4fb6f0cd072/c65742ce78631058378c91ee89d0508874ea7ace

Смежные вопросы