Python with selenium:无法找到真正存在的元素
我一直在尝试填充输入:Python with selenium:无法找到真正存在的元素,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我一直在尝试填充输入: <input id="PASSFIELD1" class="logField" type="password" onkeyup="next(this, event);" maxlength="1" autocomplete="off" name="PASSFIELD1"></input> 要做到这一点,我必须找到这个元素 我试过以下方法: pass1=驱动程序。通过名称(“PASSFIELD1”)查找元素 pass1=驱动程序。通过id(“P
<input id="PASSFIELD1" class="logField" type="password" onkeyup="next(this, event);" maxlength="1" autocomplete="off" name="PASSFIELD1"></input>
要做到这一点,我必须找到这个元素
我试过以下方法:
pass1=驱动程序。通过名称(“PASSFIELD1”)查找元素
pass1=驱动程序。通过id(“PASSFIELD1”)查找元素
pass1=driver.通过xpath(“/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]”查找元素
self.wait.until(位于((By.XPATH,“/html/body/div[4]/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]”)的元素的EC.visibility)
self.assertTrue(self.driver.find_元素通过xpath(“/html/body/div[4]/div/div/div/div[2]/div/form/div[3]/table/tbody/tr[3]/td[2]/div/input[1]”)查找)
我总是得到:
selenium.common.exceptions.NoSuchElementException:消息:“无法定位元素:(…)
你知道我做错了什么吗?问题是你的
输入
标记在iframe
中,你需要首先:
frame = driver.find_element_by_xpath('//frame[@name="main"]')
driver.switch_to.frame(frame)
pass1 = driver.find_element_by_id("PASSFIELD1")
为驱动程序添加一些延迟,以便加载元素
import time
time.sleep(2)
department_element = driver.find_elements_by_id("__id_name__")
元素是否在iframe中?除了@alecxe所说的之外,是否还有一个“附近”的用户名字段可以查找并与之交互?@Amey,alecxe:嗯,页面以:@SiKing:不,它在上一页。是的,它是!非常感谢。我不得不说,你之前的问题很好,我自己在网站上找到了:再次,非常感谢你们。