我想自动化登录网站https://www.fois.indianrail.gov.in/foisweb/view/GG_LoginNew.jsp?txtProj=TMS%20ZONAL&clintId=的过程吗?
我尝试引用网页中的所有文本字段。
driver.get('https://www.fois.indianrail.gov.in/foisweb/view/GG_LoginNew.jsp?txtProj=TMS%20ZONAL&clintId=')
pot='//*[@id="txtUserId"]'
tom=driver.find_element_by_xpath(pot)
tom.send_keys('text')
mot='//*[@id="txtPassword"]'
pot=driver.find_element_by_xpath(mot)
pot.send_keys('text')
radio_point='//*[@id="txtOptnD"]'
iiu=driver.find_element_by_xpath(radio_point)
iiu.click()
location_point='//*[@id="txtLocation"]'
mp=driver.find_element_by_xpath(location_point)
mp.send_keys('text')
submit='//*[@id="Submit"]'
sub=driver.find_elements_by_xpath
sub.click()
我希望将用户名文本字段写为文本,但错误是
selenium.common.exceptions.NoSuchElementException:消息:无法 定位元素:// * [@@ =“ =” txtUserId“]
答案 0 :(得分:1)
您要访问的元素在框架内。在访问元素之前,您必须切换到该框架。
尝试一下:
driver.get('https://www.fois.indianrail.gov.in/foisweb/view/GG_LoginNew.jsp?txtProj=TMS%20ZONAL&clintId=')
driver.switch_to.frame("frmCUMain")
driver.find_element_by_id("txtUserId").send_keys("text")
driver.find_element_by_id("txtPassword").send_keys("text")
driver.find_element_by_id("txtOptnD").click()
driver.find_element_by_id("txtLocation").send_keys("location")
driver.find_element_by_id("Submit").click()