Селен - элемент не найден (питон) - PullRequest
0 голосов
/ 27 января 2019

Попытка использовать селен для отправки ключей в текстовое поле, но кажется, что элемент не может быть найден даже после использования явных ожиданий.

Примечание: я только начал изучать Python, поэтому я могу пропустить что-то большое здесь.

Selenium смог найти все элементы на сайте до этой страницы (не уверен, что это новая страница, потому что URL-адрес не изменяется, но модули внутри страницы делают).Я перепробовал все возможные методы поиска элементов (XPATH, ID, CLASS_NAME и т. Д.), Но, похоже, не удалось найти этот элемент текстового поля.Я пытался использовать его, чтобы найти другие элементы на странице, но, похоже, он тоже не смог их найти.

#My code:
#imported expected_conditions as EC
wait = WebDriverWait(browser, 15)
wait.until(EC.presence_of_element_located((By.XPATH, '// 
[@id="payment_amount_value"]')))

#Element:
  <input type="text" class="input-mini text_input span10" 
   id="payment_amount_value" aria-describedby="payment-amount-error- 
   message" data-submit="paymentAmount">

    #Error Message:
    Traceback (most recent call last):
      File "<string>", line 100, in <module>
      File "/anaconda3/lib/python3.6/site- 
   packages/selenium/webdriver/support/wait.py", line 80, in until
        raise TimeoutException(message, screen, stacktrace)
    selenium.common.exceptions.TimeoutException: Message: 

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Спасибо за вашу помощь, Моше!Оказывается, элемент был в iframe, и мне пришлось переключиться на него, используя:

iframe = wait.until(EC.presence_of_element_located((By.XPATH,'//*[@id="billing-app-container"]/iframe')))
browser.switch_to.frame(iframe)
0 голосов
/ 27 января 2019

Измените ваш xpath:

wait = WebDriverWait(browser, 15)
the_input = wait.until(EC.presence_of_element_located((By.XPATH, '//input[@id="payment_amount_value"]')))
the_input.send_keys("Bla-bla")

Надеюсь, это вам поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...