gpt4 book ai didi

Python 请求库填写选项列表

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:31 26 4
gpt4 key购买 nike

我正在尝试使用 python 请求填写网络表单。有下拉列表(选项列表)时,有人知道正确的语法吗?

我可以成功投递到表单上的文本框,但不能投递到选项列表

import requests

URL = 'http://127.0.0.1:8000/recoater/new/'
payload = {
'data': '40',
'machine': '"1">MachineA<',
}

r = requests.post(URL, data=payload)
print (r)
print(r.text)

返回这个:

<ul class="errorlist"><li>Select a valid choice. That choice is not one of 
the available choices.</li></ul>
<p><label for="id_machine">Machine:</label> <select name="machine" required
id="id_machine">
<option value="">---------</option>
<option value="1">MachineA</option>

最佳答案

对于 <select>..</select> , POST数据发送 value=".."所选 <option> ,所以如果你想要 MachineA , 你应该用 'machine': '1' 发送它,作为有效负载:

导入请求

URL = 'http://127.0.0.1:8000/recoater/new/'
payload = {
'data': '40',
'machine': <b>'1'</b>,
}

r = requests.post(URL, data=payload)
print (r)
print(r.text)

Django 表单(或其他处理请求的机制)具有将此值映射回与此值关联的机器的逻辑:毕竟,选项中的文本只是一个文本表示Machine对象,它可以包含许多(额外的)未显示(或以非结构化方式显示)的数据。

所以浏览器会为一个网页:

<select <b>name="machine"</b> required id="id_machine">
<option <b>value=""</b>>---------</option>
<option <b>value="1"</b>>MachineA</option>
</select>

发送 POST data 关联 name 的条目的 <select> (此处为 'machine' )与 value 相关联选择的选项(此处为 '''1' )。就像 <input name="data" type="text">有一个 value参数以及设置为您在文本字段中输入的值。

关于Python 请求库填写选项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52017598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com