Python с селеном: не удается найти элемент, который действительно существует

Я пытался заполнить ввод:

<input id="PASSFIELD1" class="logField" type="password" onkeyup="next(this, event);" maxlength="1" autocomplete="off" name="PASSFIELD1"></input> 

Для этого мне нужно найти этот элемент.

Я пробовал вещи ниже:

  1. pass1=driver.find_element_by_name("PASSFIELD1")

  2. pass1=driver.find_element_by_id("PASSFIELD1")

  3. pass1= driver.find_element_by_xpath("/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]") (путь от firebug)

  4. Даже подождите 100 секунд

self.wait.until(EC.visibility_of_element_located((By.XPATH,"/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]"))) self.assertTrue(self.driver.find_element_by_xpath("/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]"))

Я всегда получаю:

selenium.common.exceptions.NoSuchElementException: Сообщение: «Не удалось найти элемент: (…)

Знаете ли вы, что я делаю неправильно?

One Solution collect form web for “Python с селеном: не удается найти элемент, который действительно существует”

Проблема в том, что ваш тег input находится внутри iframe , вам нужно сначала переключиться на него:

 frame = driver.find_element_by_xpath('//frame[@name="main"]') driver.switch_to.frame(frame) pass1 = driver.find_element_by_id("PASSFIELD1") 
Python - лучший язык программирования в мире.