0

В Python я использую библиотеку requests для отправки HTTPRequest по URL-адресу. Однако, когда я нажимаю эту кнопку, похоже, что ничего не происходит при использовании инструментов разработчика Chrome. Нет запросов XHR, ничего не отправлено.Инструменты разработчика Chrome не могут найти HttpRequest

Когда я нажимаю кнопку, открывается новое окно, а затем сразу перенаправляется на другую страницу. Я хочу, чтобы requests отправил POST на полезную нагрузку, а затем сохранил возвращенную страницу после перенаправления.

Вот кнопка в 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> 

Я пытаюсь найти POST HTTPRequest, так что я могу добавить полезную нагрузку на запрос.

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

Кто-нибудь знает, почему, когда я нажал на кнопку «Отправить», ничего не происходит в инструментах разработчика Chrome еще откроется новая страница, которая обрабатывает запрос?

+0

Почему JS встроен? –

+0

ли эта страница открыта на новой вкладке? если это так, то сетевая активность будет там. вы можете запоминать активность через перезагрузку с помощью опции. – dandavis

ответ

0

Вам необходимо включить параметр «Сохранять журнал» на панели «Сеть». Это позволит сохранить основную информацию запроса (но не сырые данные!) Для запросов на перемещение страницы.

Ваша проблема связана с «немедленно перенаправленной на другую страницу». Когда происходит перемещение страницы, DevTools сбрасывает все, что может, чтобы сохранить память. Вам было бы лучше использовать AJAX для отправки запроса и обработки любого ответа, таким образом не происходит перенаправление страницы.

+0

Я переключился на «Журнал сохранения», но после нажатия кнопки «Отправить» по-прежнему нет новой сетевой активности. Это почти так, как будто мне нужно видеть активность сети на вновь открытой странице, но к моменту открытия инструментов разработчика страница уже перенаправлена ​​(около 0,5 секунд). Есть ли пакет Python, который вы рекомендовали бы использовать AJAX для отправки запроса? Я предполагаю, что пакет запросов не способен? –

+0

Python не может отправлять запросы ajax. Это серверный язык (или хост-компьютер.) В настоящий момент только JavaScript. Для обработки запроса необходимо использовать объект XMLHttpRequest или fetch. Поймайте событие отправки формы, затем создайте запрос AJAX и отправьте его. Наконец, обработайте ответ с сервера (будь то перенаправление или что у вас есть.) Если вы хотите открыть новую вкладку/окно, вот почему. Вы не можете захватить страницы при загрузке, это потребует перезагрузки, так что это нарушит ваш цикл отладки. Я бы сказал, вопрос, действительно ли вам нужно открыть новое окно в форме submit. – Garbee

Смежные вопросы