首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过RoboBrowser Python登录站点

无法通过RoboBrowser Python登录站点
EN

Stack Overflow用户
提问于 2018-12-25 06:17:56
回答 2查看 689关注 0票数 0

我试图通过RoboBrowser登录到这个站点,但是我面临以下错误。

代码语言:javascript
复制
import config
from robobrowser import RoboBrowser
br = RoboBrowser()
br.open('https://stackoverflow.com')
form = br.get_form(id="login-form")
form['Email address']=config.username
form['Password']=config.password
br.submit_form(form)

误差

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\test\AppData\Local\Programs\Python\Python37\lib\site-packages\robobrowser\forms\form.py", line 216, in __setitem__
    self.fields[key].value = value
  File "C:\Users\test\AppData\Local\Programs\Python\Python37\lib\site-packages\werkzeug\datastructures.py", line 784, in __getitem__
    raise exceptions.BadRequestKeyError(key)
werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

通过任何其他模块,我们可以登录到网站和搜索数据在下一个屏幕。例如,如果我登录到站点和下一页,它将显示为"Hello User“。我希望通过python脚本显示或不显示"Hello User“的输出。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-25 06:38:54

我想你是在尝试登录到sing up表单。移动到登录页面,然后登录。

代码语言:javascript
复制
import config
from robobrowser import RoboBrowser

br = RoboBrowser()
br.open('https://stackoverflow.com/users/login')

form = br.get_form(id="login-form")
form['email']=config.username
form['password']=config.password
br.submit_form(form)
票数 1
EN

Stack Overflow用户

发布于 2018-12-25 06:32:48

令人惊讶的是,如果您设置的表单字段实际上不是表单的一部分,则会发生此错误。Tomasz的回答指向了哪里出了问题,但还有几个注意事项:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53919834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档