Задать вопрос

Как Selenium авторизуется на сайтах?

Доброго дня.
Мой пример авторизации на Python+Selenium:
from selenium import webdriver  
chromedriver = 'D:\\temp\\selenium\\chromedriver.exe'   
browser = webdriver.Chrome(executable_path=chromedriver)
browser.get('https://example.com/login/')
email = browser.find_element_by_id('email')
password = browser.find_element_by_id('password')
login = browser.find_element_by_id('submit')
email.send_keys('my_mail')
password.send_keys('my_pass')
login.click()

При попытке входа в личный кабинет, у меня направляется смс с кодом, для подтверждения авторизации. Если захожу через обычный chrome, то попадаю без всяких проверочных смс. Отсюда нарушается работа всей автоматизации.
В голову приходят следующие мысли:
1. Возможно дело в cookies? Чем отличается запрос реального chrome от запроса selenium?
2. Как проверить работу через подключение оригинального приложения Chrome? Где-то видел, что это возможно.
3. Возможно ли использовать cookies из chrome, чтобы пропустить авторизацию?
Спасибо за любые советы!
  • Вопрос задан
  • 4493 просмотра
Подписаться 2 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
coderisimo
@coderisimo
Это творческий процесс! ))) Для начала какой у вас user agent ? HeadlessChrome ? Если да - используйте нечто более подходящее.

from selenium.webdriver.chrome.options import Options
opts = Options()
opts.add_argument("user-agent=здесь какой-нибудь Хром Юзер Агент", executable_path=chromedriver)

browser = webdriver.Chrome(chrome_options=opts)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы