Python请求填写表单

时间:2016-10-28 05:15:15

标签: python python-2.7 python-requests

我正在使用python请求填写表单。

payload = {"name": 'TEST', 'XXXX': '12345' ,'YYYY':'EEEE','ZZZZ':''}

x=requests.post("https://example.com", data=payload, auth=HTTPBasicAuth('username', 'password'),verify=False)

它没有提交表格,表格有两个按钮SAVE和CANCEL。

在我的有效载荷中,我没有包含与按钮相关的任何内容,因为我所知道的是,提交表单是通过post方法处理的。

以下是该部分的HTML代码

<div id="button_row_12" class="button_row form_pane">
<input type="submit" name="_form_action1" value="Save" class="button" onClick="this.form._form_action1.disabled=true;this.form._form_action.value='Save';this.form.submit();">

<input type="button" name="_form_action2" value="Cancel" class="button" onClick="this.form._form_action2.disabled=true;this.form._form_action.value='Cancel';this.form.submit();">
</div>
<input type="hidden" name="edit" value="0">
<input type="hidden" name="type" value="iscan">
<input type="hidden" name="_form_visited" value="1">
<input type="hidden" name="_form_action" value="">
</form>

1 个答案:

答案 0 :(得分:3)

您还应该在有效负载中添加_form_action字段,以模仿Javascript onClick事件:

payload = {"name": 'TEST', 'XXXX': '12345' ,'YYYY':'EEEE','ZZZZ':'', '_form_action': 'Save'}