【问题标题】:Python requests to fill formPython 请求填写表格
【发布时间】:2017-03-10 22:56:14
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: python python-2.7 python-requests


    【解决方案1】:

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

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

    【讨论】:

    • 有效负载示例不是您使用的实际代码。请张贴实际的。您还应该包括隐藏的输入,对吗?
    • Selcuk 在添加隐藏参数后感谢它。非常感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 2018-05-22
    • 2012-05-16
    • 2017-02-07
    • 2019-10-17
    • 2014-04-13
    相关资源
    最近更新 更多