Почему не находит элемент, когда он есть?

Здравствуйте, написал код, чтобы просто авторизовывался на сайте инсты, но он не находит элемент, который там присутствует, не пойму почему или находит, но редко, то есть к примеру: нашёл элемент и ввёл данные, я выхожу с сайта, запускаю вновь код и теперь он его не видит, выдаёт такую ошибку:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [name="username"]


from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
from just import username, password


def A(username,password):
    browser = webdriver.Firefox()
    browser.maximize_window()
    browser.get('https://www.instagram.com/')

    s_username = browser.find_element_by_name('username')
    s_username.clear()
    s_username.send_keys(username)


    s_username = browser.find_element_by_name('password')
    s_username.clear()
    s_username.send_keys(password)


    s_username.send_keys(Keys.ENTER)

    browser.close()
    browser.quit()

A(username,password)

Прикрепляю фотку, где показан элемент name= 'username'

5f941b5967854574193373.png
  • Вопрос задан
  • 80 просмотров
Решения вопроса 2
DanArst
@DanArst
Э, Ойboy!
Скорее всего он не может найти элемент по причине того, что поиск запускается до появления этого элемента на странице. Вам следует установить небольшую задержку. Почитайте здесь про Waits
Ответ написан
hottabxp
@hottabxp Куратор тега Python
Миллиардер. Честно, 100 пистонов!
Делайте задержку, так как скорее всего блок авторизации подгружается позднее.
Можно банально после:
browser.get('https://www.instagram.com/')
добавить:
time.sleep(5)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы