2016-10-28 134 views
2

我正在使用python請求來填寫表單。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> 

回答

2

你也應該在_form_action字段添加到您的有效載荷模仿的Javascript onClick事件:

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

沒有工作,並稱之後參數 – Sherry

+0

有效負載示例不是您正在使用的實際代碼。請張貼實際的。你還應該包括隱藏的輸入,是嗎? – Selcuk

+1

塞爾丘克感謝加入隱藏參數後,它的工作。十分感謝你的幫助 – Sherry