Селен извлекает ошибку при выборе ID / XPATH - PullRequest
0 голосов
/ 06 февраля 2020
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
import chromedriver_binary
from selenium.webdriver.common.keys import Keys
import time

element = driver.find_element_by_xpath('//*[@id="username"]').send_keys(user_name)

Вот так выглядит код (я пробовал xpath, id, имя класса и т. Д. c ..), но я ВСЕГДА получу ошибку

selenium.common .exceptions.NoSuchElementException: Сообщение: такого элемента нет: Невозможно найти элемент: {"method": "xpath", "selector": "// [@ id =" username "]"} (Информация о сеансе: chrome = 80.0.3987.87)

Я пытаюсь сделать это на здесь

Любые идеи, пожалуйста?

1 Ответ

0 голосов
/ 06 февраля 2020

Я заметил, что данная форма находится в Iframe, поэтому переключение на iframe требуется для взаимодействия с любым элементом, который находится в IFrame.

У меня работает следующий код:

driver.switch_to_frame(driver.find_element_by_xpath('(//iframe[@title="Registration form"])[1]'))
element = driver.find_element_by_xpath('//*[@id="username"]').send_keys("username")

Feel свободно использовать явное ожидание, если требуется.

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