无法使用Selenium登录

时间:2017-01-08 07:10:24

标签: python selenium web-crawler

我正在使用Selenium + Python 2.7堆栈 我想登录this论坛并抓取帖子数据用于学术研究目的。我使用以下代码填写登录表单:

    username = browser.find_element_by_xpath("//input[@id='navbar_username']")
    username.clear()
    username.send_keys("####")
    password = browser.find_element_by_xpath("//input[@id='navbar_password_hint']")
    password.clear()
    password.send_keys("####")
    loginbutton = browser.find_element_by_xpath("//input[@class='loginbutton']")
    loginbutton.click()

但是我无法在抓取工具运行时登录。它带我到错误的用户名/密码页面。我尝试使用相同的信息手动登录,并且能够在没有任何错误的情况下登录。运行搜寻器时,会在用户名和密码字段中填写正确的值。我无法理解可能导致问题的原因。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您似乎使用了错误的元素作为密码字段。你应该试试

password = browser.find_element_by_xpath("//input[@id='navbar_password']")

因为此元素为type="password"<input id="navbar_password_hint">type="text"

隐藏目标元素后,您可以使用以下内容使其可见:

browser.execute_script('document.getElementById("navbar_password").style.display="block";')