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

相关问题