Я пытаюсь войти на сайт с помощью скрипта Python с помощью веб-драйвера selenium, чтобы загрузить некоторые данные, доступные только зарегистрированным пользователям.
У меня есть следующий код:
browser = webdriver.Firefox()
browser.get('https://shop.biogast.at/store15/customer/account/login')
emailElem = browser.find_element_by_id('email')
emailElem.send_keys('12345')
passwordElem = browser.find_element_by_id('pass')
passwordElem.send_keys('12345')
passwordElem.submit()
Отлично работает, когда команды набираются в оболочку python3 одна за другой. Однако когда я запускаю код в виде скрипта, имя пользователя и логин заполняются правильно, но вместо входа в систему поля имени пользователя и логина не отображаются. Сценарий завершается, и сообщение об ошибке отсутствует.
В соответствии с тем, что другие предлагали в подобных ситуациях, это может быть проблемой синхронизации, так как сценарий выполняется намного быстрее, чем когда команды вводятся одна за другой. Поэтому я расширил скрипт, включив в него некоторые значения сна.
browser = webdriver.Firefox()
browser.get('https://shop.biogast.at/store15/customer/account/login')
time.sleep(15)
emailElem = browser.find_element_by_id('email')
emailElem.send_keys('12345')
time.sleep(15)
passwordElem = browser.find_element_by_id('pass')
passwordElem.send_keys('12345')
time.sleep(15)
passwordElem.submit()
К сожалению, результат все тот же. Поля не заполнены, и скрипт завершается без ошибок. Когда я запускаю команды одну за другой, это работает хорошо, даже если перерывы между командами составляют менее 15 секунд, поэтому, похоже, это не проблема синхронизации.
У вас есть идеи, как мне найти причину? Большое спасибо.