Использование запросов на публикацию на веб-сайте после моделирования события OnClick без безголового браузера.Python

Программы на Python
Ответить
Anonymous
 Использование запросов на публикацию на веб-сайте после моделирования события OnClick без безголового браузера.

Сообщение Anonymous »

У меня есть несколько ограничений из-за блокировки пакетов и программного обеспечения в моей компании.
Я работаю с веб-сайтом, на котором есть событие onClick, открывающее таблицу. Перед событием onClick (т. е. начальной страницей веб-сайта) я могу написать запрос POST, который по сути имитирует действие события onClick, возвращая страницу, публикующую событие onClick. Однако дополнительные запросы POST или GET, даже в пределах одного сеанса,
взаимодействуют с исходной страницей. Я не «нажал» кнопку, чтобы раскрыть JavaScript, который показывает первоначальный запрос POST в сеансе запросов. Событие щелчка не меняет URL-адрес (поэтому нет параметров для загрузки; оно просто загружает HTML непосредственно на страницу).
Мой вопрос: как бы я решил это без использование headless-браузера или изменение веб-сайта (и добавление чего-то вроде AJAX). Моя идея заключалась в том, чтобы использовать контент из первоначального ответа в качестве «веб-сайта», на котором я размещаю POST, но я не знаю, как заставить это работать (или может ли оно работать).
Некоторые упрощенный код ниже для описания ситуации:

Код: Выделить всё

import requests
url = "someurl.com"

session = requests.Session()
headers = {"some keys and values"}
payload1 = {"submitBtn": "submit"}
initialRequest = session.post(url, data=payload1, headers=headers)
// initialRequest.content -> This returns the "correct" page (the page the javascript loads after the onClick event)
payload2 = {"newData": "3", "saveBtn":"save"}
followUpRequest =  session.post(url, data=payload2, headers=headers) // This fails because Requests is loading the initial page again (demonstrated by a session.get(url) Request that returns the initial page).
Это способ использовать POST для содержимого из «initialRequest» по тому же URL-адресу? Опять же, URL-адрес вообще не меняется (поэтому я не могу добавить простых параметров). Есть идеи? Другие основные библиотеки Python подойдут, но Selenium не вариант.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -without-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»