跳转到主要内容

自动填写HTML登录表单

项目描述

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

loginform是一个库,用于根据登录URL、用户名和密码自动填写HTML登录表单。需要填写哪个表单和字段是自动推断的。

它基于lxml表单填写实现,因此依赖于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

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

loginform-1.2.0.tar.gz (3.1 kB 查看哈希值)

上传时间 源代码

构建发行版

loginform-1.2.0-py2-none-any.whl (3.3 kB 查看哈希值)

上传时间 Python 2