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

Здравствуйте, написал код, чтобы просто авторизовывался на сайте инсты, но он не находит элемент, который там присутствует, не пойму почему или находит, но редко, то есть к примеру: нашёл элемент и ввёл данные, я выхожу с сайта, запускаю вновь код и теперь он его не видит, выдаёт такую ошибку:
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
  • Вопрос задан
  • 147 просмотров
Решения вопроса 2
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Делайте задержку, так как скорее всего блок авторизации подгружается позднее.
Можно банально после:
browser.get('https://www.instagram.com/')
добавить:
time.sleep(5)
Ответ написан
Комментировать
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
Скорее всего он не может найти элемент по причине того, что поиск запускается до появления этого элемента на странице. Вам следует установить небольшую задержку. Почитайте здесь про Waits
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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