3

我正在尝试使用 Selenium 登录网站。该网站是http://projecteuler.net/login

from selenium import webdriver

browser = webdriver.Chrome()

browser.get('http://projecteuler.net/login')
username = browser.find_element_by_id('username')
username.send_keys(USERNAME_HERE)
password = browser.find_element_by_name('password')
password.send_keys(PASSWORD_HERE)

browser.find_element_by_name("login").submit()

该程序在最后一条语句之前正常工作。我尝试省略最后一条语句并手动登录并且它有效。但是当我添加最后一条语句并运行程序时,它似乎只是重新加载了相同的页面,减去了我通过程序放置的信息。

所以只有提交有问题。我查看了源代码并确认是否有其他名称为该名称的元素,但没有其他名称为“login”的元素。那么我在这里做错了什么?我还需要照顾其他事情吗?

有一件奇怪的事情正在发生。当我通过代码完成表单提交并尝试在 Google Chrome 33.0.1750.154 m 中查看源代码时,我得到以下信息。 在此处输入图像描述

4

1 回答 1

5

尝试click()代替submit()

Submit is particularly useful for forms without submit buttons, e.g. single-input “Search” forms.

来源:- http://selenium.googlecode.com/git/docs/api/py/selenium/selenium.selenium.html?highlight=submit#selenium.selenium.selenium.submit

在您的情况下,有一个提交按钮,最好单击它。

于 2014-03-20T18:36:24.293 回答