Показывать капчу пользователю с Python - PullRequest
1 голос
/ 27 мая 2020

init моего кода в основном предназначен для настройки Chrome, получения URL-адреса и входа в систему с учетными данными, указанными в tKinter GUI. Когда я почти закончил код, я добавил chrome_options.add_argument('--headless'), чтобы GUI работал, не открывая браунсер, потому что его будут использовать другие сотрудники, а не только я.

Проблема в том, что иногда часть входа в систему запрашивает разрешение Captcha, поэтому я думаю, что лучший способ справиться с этим - открыть только captcha для разрешения пользователя, закрыть его и продолжить выполнение кода, это верно?

Я искал об этом и не мог понять, что мне делать.

1 Ответ

2 голосов
/ 27 мая 2020

Это не прямой ответ, и он слишком длинный для комментария.

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

Итак, вот что вы можете сделать:

  1. Запустите программу в браузере без головы.
  2. Функция проверки, запрашивает ли сайт капчу.
  3. Если да, то сохранить файлы cookie текущего браузера и закрыть браузер без заголовка.
  4. Повторно открыть новый браузер без аргумента --headless, используя те файлы cookie, которые вы сохранили.
  5. Подождите, пока пользователь завершит ввод кода проверки, и позвольте сайту перенаправить или загрузить его после выполнения проверки.
  6. Получить файлы cookie текущего браузера и закрыть его.
  7. Наконец, снова открыть новый браузер с аргументом --headless и использовать эти файлы cookie.

Может быть какой-то лучший подход для этого, но он будет работать очень хорошо, если реализован правильно.

...