0

在Python中,我使用requests庫將HTTPRequest發佈到URL。但是,當我點擊此按鈕時,Chrome瀏覽器開發人員工具看起來沒有任何反應。沒有XHR請求,沒有任何郵寄。Chrome開發人員工具無法找到HttpRequest

當我點擊按鈕,打開一個新窗口,然後立即重定向到另一個頁面。我希望requests可以發送一個有效負載,然後在重定向之後存儲返回的頁面。

下面是在HTML按鈕:

<button type="button" id="form_submit" class="querysubmit" name="querysubmit" onclick="if (document.regform.onsubmit()) {$j('#queryform').submit();setTimeout('document.getElementById(\'form_submit\').disabled=false;document.getElementById(\'form_submit_image\').src=\'/img/btn_submitquery.gif\';',10000);this.disabled=true;document.getElementById('form_submit_image').src='/img/btn_querysubmitted.gif';}"> 
        <img id="form_submit_image" src="/img/btn_submitquery.gif" alt="Submit Query"> 
       </button> 

我試圖找到郵局的HTTPRequest,這樣我可以添加一個有效載荷的要求。

new_page = session.post(QUERY_URL, data=payload_dict) 

有誰知道爲什麼,當我點擊「提交」按鈕,沒有任何Chrome開發工具還沒有出現一個新的頁面打開處理該請求?

+0

爲什麼JS內聯? –

+0

頁面是否在新標籤頁中打開?如果是這樣,那麼網絡活動將在那裏。您可以通過選項記住重新加載時的活動。 – dandavis

回答

0

您需要在網絡面板中啓用「保留日誌」選項。這將保存頁面移動請求的主要請求信息(但不是原始數據!)。

您的問題源於「立即重定向到另一頁」。當頁面移動發生時,DevTools會轉儲所有可以節省內存的內容。您最好使用AJAX提交請求並處理任何響應,這樣就不會發生頁面重定向。

+0

我已經在「保留日誌」上進行切換,但點擊「提交」按鈕後似乎仍沒有新的網絡活動。這幾乎就像我需要在新打開的頁面上看到網絡活動一樣,但是當我打開Developer Tools時,頁面已經被重定向(大約0.5秒)。有推薦使用AJAX提交請求的Python包嗎?我假設'請求'包不可用? –

+0

Python無法提交ajax請求。它是一種服務器端語言(或主機)。目前只有JavaScript能夠做到這一點。您需要使用XMLHttpRequest或fetch對象來處理請求。抓住表單的提交事件,然後創建AJAX請求併發送。最後,處理來自服務器的響應(無論是重定向還是你有什麼)。如果你打算打開一個新的標籤/窗口,那就是爲什麼。您無法在加載時捕獲頁面,它將需要重新加載,所以這將打破您的調試周期。我會說,質疑你是否真的需要在表單提交時打開一個新窗口。 – Garbee

相關問題