【问题标题】:How to input values into a html form in python如何在python中将值输入到html表单中
【发布时间】:2020-09-04 16:09:55
【问题描述】:

我有一个简单的 html 表单,比如这个

<!DOCTYPE html>
<html>
<body>

<form action="/Login/Authenticate" id="Loginform" method="post">
  <label for="fname">User name:</label><br>
  <input class="Txt_bx password" data-val="true" data-val-required="Enter Password" id="txtPassword" name="Log.password" type="text"><br>
  <label for="lname">Password :</label><br>
  <input class="Txt_bx urserName" data-val="true" data-val-required="Enter Username" id="txtusername" name="Log.username" type="password" value="">
</form>

</body>
</html>

我想在输入类 Txt_bx passwordTxt_bx username 中插入一些文本,而不使用 selenium,因为它太慢了。有没有其他方法可以做到这一点?

任何帮助将不胜感激!

【问题讨论】:

  • 亲爱的@Heisenberg 为什么不使用 jquery 或 js?这是为了测试吗?对不起我的语言,因为英语不是我的主要语言
  • @sachinkumaraliyanage 因为我不知道 jquery 和 js。我想用 python 破解一个简单的 html 表单,这就是为什么我正在学习如何做到这一点,但我找不到如何做到这一点。

标签: python html python-requests


【解决方案1】:

您可以使用 Python 的 requests 库,this page 应该有助于向您介绍库中的 POST(如表单上的 method 标记所示)请求。您需要 POST 到 /Login/Authenticate,因为它是表单的 action

在您的 HTML 代码中,log.Passwordlog.Username 将是字典的键,而值将是您想要的任何值。例如:

data = {
    "log.Username": "mynewusername",
    "log.Password": "mynewpassword"
}

【讨论】:

  • 谢谢!我会试试这个。另外,很抱歉问了这么容易搜索的问题,我不擅长谷歌搜索。
  • 你确定 OP 不是指在输入字段中输入文本吗?
  • @TochiBedford 我不知道代码的作用,因为我似乎无法正确运行它,但我的意思是将文本放入输入字段并提交。
【解决方案2】:

尝试使用请求

import requests

response = requests.post(
    'http://url.com/Login/Authenticate',
    data={
        "Log.password": "password",
        "Log.username": "username"
    }

)

print(response.content) #get the response from whatever server

不要忘记将 url.com 替换为实际域

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2021-08-11
    相关资源
    最近更新 更多