通过Selenium提交表单只需返回原始页面

Ase*_*sal 3 python forms selenium webautomation python-3.x

我正在尝试使用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()
Run Code Online (Sandbox Code Playgroud)

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

所以只有提交才会产生问题.我查看了源代码并确认该名称是否还有其他元素,但没有其他元素名称为"login".那我在这里错了什么?我还需要照顾别的吗?

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

Ame*_*mey 5

尝试click()而不是submit()

Submit is particularly useful for forms without submit buttons, e.g. single-input “Search” forms.
Run Code Online (Sandbox Code Playgroud)

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

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