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

Selenium python ожидаем элемента на странице?

Почему у меня выходит ошибка ? Как это исправить ? Я хочу чтобы, после ввода "Электронной почты", скрипт нажимал на кнопку "Далее" - это в принципе работает, после клика он должен ожидать пока не появиться элемент и после этого скрипт заполнил поле с "Паролем", но у меня выходит ошибка...

import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Chrome(os.path.dirname(os.path.abspath(__file__)) + '\\chromedriver.exe')
browser.get('test')

browser.find_element_by_css_selector("input[type='email'][aria-label='Телефон или адрес эл. почты'][name='identifier']").send_keys('test')
browser.find_element_by_css_selector("div[role='button'][id='identifierNext']").click()

WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[type='password'][aria-label='Введите пароль'][name='password']")))

browser.find_element_by_css_selector("input[type='password'][aria-label='Введите пароль'][name='password']").send_keys('test')
browser.find_element_by_css_selector("div[role='button'][id='passwordNext']").click()

browser.close()
quit()


Сама ошибка:

Traceback (most recent call last):
  File "app.py", line 17, in <module>
    browser.find_element_by_css_selector("input[type='password'][aria-label='Вве
дите пароль'][name='password']").send_keys('test')
  File "C:\Users\RIMBL\AppData\Local\Programs\Python\Python37-32\lib\site-packag
es\selenium\webdriver\remote\webelement.py", line 479, in send_keys
    'value': keys_to_typing(value)})
  File "C:\Users\RIMBL\AppData\Local\Programs\Python\Python37-32\lib\site-packag
es\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\RIMBL\AppData\Local\Programs\Python\Python37-32\lib\site-packag
es\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\RIMBL\AppData\Local\Programs\Python\Python37-32\lib\site-packag
es\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not
 interactable
  (Session info: chrome=75.0.3770.80)
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57
e9-refs/branch-heads/3729@{#29}),platform=Windows NT 6.1.7601 SP1 x86_64)
  • Вопрос задан
  • 1778 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@1001001
Вы уверены, что поле не существует всегда? Возможно следует использовать visibility_of_element_located.
Или заполняете не тот элемент...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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