Переключитесь на Firefox или браузер, который не сообщает странице, которую вы посещаете, автоматически. Смотрите мой предыдущий ответ на очень похожую проблему здесь: { ссылка }
Короче говоря: при запуске Chrome он будет работать с navigator.webdriver=true
. Вы можете проверить это в консоли. Страницы могут обнаружить этот флаг и заблокировать вход в систему или другие действия, следовательно, неверный вход. Это флаг только для чтения, установленный браузером при запуске.
При Chrome я также не смог войти в Duolin go. После того, как я переключил драйвер на Firefox, тот же самый код просто работал.
Также, если я могу рекомендовать, попробуйте использовать Xpath с атрибутами.
Вместо этого:
hve_acnt_btn = driver.find_element_by_xpath("/html/body/div/div/div/span[1]/div/div[1]/div[2]/div/div[2]/a")
Вы можете использовать:
hve_acnt_btn = driver.find_element_by_xpath('//*[@data-test="have-account"]')
То же самое для:
email_input = driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[2]/form/div[1]/div/label[1]/div/input")
против:
email_input = driver.find_element_by_xpath('//input[@data-test="email-input"]')