当前位置: 首页 > 知识库问答 >
问题:

登录到Zillow

师曦
2023-03-14

嗨,由于某种原因,我无法登录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.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"

NoSuchElement例外: 消息: 无法找到元素: {“方法”:“id”,“选择器”:“email”} 堆栈跟踪: 在 FirefoxDriver.prototype.findElementInternal_ (file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/driver-component.js:10271) 在 FirefoxDriver.prototype.find元素 (file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/driver-component.js:10280) 在 DelayedCommand.prototype.executeInternal_/h (file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/command-processor.js:12274) 在 DelayedCommand.prototype.executeInternal_ (file:///var/folders/b1/r8rn2dg17k93wnn4kw_fpyf40000gn/T/tmpKjj1hV/extensions/fxdriver@googlecode.com/components/command-processor.js:12279) 在延迟命令.原型.执行/

共有1个答案

严成礼
2023-03-14

登录表单位于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

对我有用。

 类似资料:
  • 记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano

  • 我希望我的这个登录页面加载两次,即第一次用户输入username和password,然后从servlet获得响应,然后它将被重定向到带有“messages”的登录jsp页面。 我有两个按钮用于登录和注销。这个脚本可以像我试过的那样通过使用count变量加载两次吗?任何其他方法也将是首选。 附注:我试过使用和但它们不起作用。 login.jsp:-

  • 问题内容: 默认情况下,我的网站使用HTTP。我确实有一个启用HTTPS的证书,但是只有其中的某些区域会强制建立安全连接。 登录是通过Ajax处理的,即使请求来自HTTP,我也想开始使用SSL。 我尝试强制请求的地址具有HTTPS,它可以完美地答复。但是,在ajax回调中,尽管回复正常,但似乎从未设置会话。 如果请求来自HTTPS,一切都会顺利进行。 为什么会这样? 我可以理解为什么浏览器拒绝HT

  • 我正在使用带有java配置和两个HttpSecurity配置的spring-security 3.2.0.rc2。一个用于REST API,一个用于UI。当我发布到/logout时,它重定向到/login?logout,但随后(错误地)重定向到/login。当我成功地输入用户名和密码时,我会被重定向到登录-注销,并且必须再次输入凭据才能进入主页面。因此,似乎login的permitAll不被用于l

  • 我现在一直在努力使用我的登录页面来让组件呈现Loggedin组件。我的前端是Reactjs,后端是NodeJS。我对nodejs、expression和react都是新手。 在loginform组件上,我使用fetch进行了一次post,它将用户名和密码传递给后端的相应endpoint。没问题。在后端,它读取我存储用户(不使用任何数据库)的jsonfile来查找匹配项,如果用户名和密码都匹配,则它

  • 问题内容: 我正在一个springMVC项目中,其中用户身份验证基于Spring安全性。 这个想法是要拥有一个移动(android)应用程序,以便能够将某种数据发送到后端。 因此,在开始开发android之前,我决定使用cURL模拟登录表单的情况。 我们网站上的登录表单如下: 我使用以下命令: 但是我将获得登录页面,换句话说,我无法根据模拟情况通过用户身份验证。 只需注意:对于每一个请求,spri