Python 登录Zillow
嗨,不知什么原因,我无法登录zillow。我找不到要向其发送密钥的电子邮件或密码输入字段。脚本正在工作,但现在找不到元素 我正在传递一个带有URL的驱动程序对象:Python 登录Zillow,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,嗨,不知什么原因,我无法登录zillow。我找不到要向其发送密钥的电子邮件或密码输入字段。脚本正在工作,但现在找不到元素 我正在传递一个带有URL的驱动程序对象: driver = webdriver.Firefox() driver = driver.get("http://www.zillow.com/") time.sleep(2) driver.find_element_by_id("login_opener").click() time.sleep(5) try: driver
driver = webdriver.Firefox()
driver = driver.get("http://www.zillow.com/")
time.sleep(2)
driver.find_element_by_id("login_opener").click()
time.sleep(5)
try:
driver.find_element_by_id("email").send_keys(username)
driver.find_element_by_id("password").send_keys(password)
time.sleep(2)
driver.find_element_by_id("loginSubmit").click()
except:
try:
time.sleep(4)
driver.find_element_by_id("email").send_keys(username)
driver.find_element_by_id("password").send_keys(password)
time.sleep(2)
driver.find_element_by_id("loginSubmit").click()
except:
pdb.set_trace()
print "Cant login"
NoTouchElementException:消息:无法定位元素:
{“方法”:“id”,“选择器”:“电子邮件”}Stacktrace:
在FirefoxDriver.prototype.findelement内部(file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/driver component.js:10271)
在FirefoxDriver.prototype.findElement(file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/driver component.js:10280)
在DelayedCommand.prototype.executeInternal\uh处(file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/command processor.js:12274)
在DelayedCommand.prototype.executeInternal\u(file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/command processor.js:12279)
在DelayedCommand.prototype.execute/<(file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/command processor.js:12221)
登录表单位于iframe内部。您必须切换到它的上下文:
driver.find_element_by_id("login_opener").click()
time.sleep(5) # TODO: replace with an Explicit Wait
frame = driver.find_element_by_css_selector("iframe[src*=InlineLogin]")
driver.switch_to.frame(frame)
# now while you are in the iframe, search for the input
对我有用。什么是错误跟踪?@DavidZemens poster.hmm这似乎不起作用。。。你有firefox驱动程序或chrome浏览器吗?出于某种原因,我得到了相同的错误?当我调试iframe时,它显示为nothing(Pdb)驱动程序。通过xpath('//iframe')查找元素。text u''谢谢,我改为使用我创建的另一个解决方案。