自动填写HTML登录表单

loginform的Python项目详细描述


https://secure.travis-ci.org/scrapy/loginform.png?branch=masterCoverage report

loginform是一个库,用于填充给定登录url的html登录表单, 用户名和密码。自动推断要填充的表单和字段。

它是在lxml form filling之上实现的,因此依赖于lxml。

用法

用法非常简单,最好用一个示例来说明:

>>> from loginform import fill_login_form
>>> import requests
>>> url = "https://github.com/login"
>>> r = requests.get(url)
>>> fill_login_form(url, r.text, "john", "secret")
([('authenticity_token', 'FQgPiKd1waDL+pycPH8IGutirTnP69SiZgm0zXwn+VQ='),
  ('login', 'john'),
  ('password', 'secret')],
 u'https://github.com/session',
 'POST')

也可以将其用作快速调试登录表单的工具:

$ python -m loginform -u john -p secret https://github.com/login
url: https://github.com/session
method: POST
payload:
- authenticity_token: FQgPiKd1waDL+pycPH8IGutirTnP69SiZgm0zXwn+VQ=
- login: john
- password: secret

测试

一组真实的样本被用来保持这个库的测试。那些 样品管理如下:

首先,选择要尝试的站点,找出其登录URL,然后运行以下命令 在其上尝试loginform的命令:

$ python test_samples.py https://github.com/login
[
   "https://github.com/login",
   [
      [
         [
            "authenticity_token",
            "NsdVWGpzxKmn7zSJSOdgnDcLIzIdJlCTO754LiEv2W4="
         ],
         [
            "login",
            "USER"
         ],
         [
            "password",
            "PASS"
         ]
      ],
      "https://github.com/session",
      "POST"
   ]
]

从输出你可以判断它是否有效。如果成功了,太好了。如果它 如果没有,您将破解loginform.py使其工作,然后添加示例 使用:

$ python test_samples.py https://github.com/login -w github

注意,我们给了示例一个名称(在本例中为github)。

要列出所有可用的示例,请使用:

$ python test_samples.py -l

要运行所有测试,请安装tox并运行:

$ tox

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法在安卓 Studio中为安卓:onClick执行方法   传真我如何以编程方式接收传真?最好是java语言   开源如何向标准java库中添加任何类?   多线程Java执行器在上一个完成后执行一个可调用的?   java广播接收器在后台不工作   java替换元素   删除文件。java Maven项目   java不同语言   linux告诉java要听哪个键盘   数组Java 8流,仅第一次获取max()需要很长时间   从Stubbed@SpringBean返回的java Spock+Spring存根始终返回null   java为什么EnumMap为空值分配对象类对象?   使用Java对话框查找最小值和最大值   支持新旧安卓版本的java Copy with clipboard manager?   它显示了桌面版本。我想展示手机版(现在可以了)   java如何从文本文件中读取一行,调用该行上的函数并移动到第二行,等等?   java如何为体育项目编写深度图表和列表?   java如何创建IntentService来检查GoogleAppClient是否为空