Autofill mit Request python?

iNeedHelp961  16.06.2022, 11:12

Ich bin von der Frage verwirrt. Reden wir hier jetzt von WebView oder soll das überall gehen?

Karottensupp816 
Fragesteller
 16.06.2022, 11:43

ja solte überall gehen meine frage ist nur woher sind die entrys wo kann ich die finden ?

1 Antwort

Du redest wohl von der requests-Bibliothek.

Ein Request stellt eine Anfrage an einen Server dar. Du kannst so zwar versuchen, Daten zu übermitteln, doch was der Empfänger damit anstellt, kannst du nicht beeinflussen. Das heißt, es obliegt dem Empfänger, ob er die Daten überhaupt annimmt und ob er sie bei Response in Formularfelder des HTML-Dokuments, welches er ausliefert, einträgt.

Es gibt somit einen wesentlichen Unterschied, ob du die Daten mit requests als Querystring zum Server schickst oder ob du die Daten in die Formularfelder einträgst (sei es manuell oder mit einem Automatisierungstool wie Selenium) und dann das Formular vom Browser abschicken lässt. Den letzteren Fall würde ich als Autofill bezeichnen.

Das Zusammenstellen des Requests ist an sich gar nicht so schwer. Schau dir mit den Webentwicklungstools deines Browsers das Formular an, welches du ersetzen möchtest. Du kannst entweder im Inspektor das Formular untersuchen, um die Zieladresse, etc. herauszufinden oder (besser) du schickst das Formular einmal ausgefüllt ab und suchst dir folgend den Request im Network-Tab der Entwicklungstools an.

Noch einmal genauer zu ersterem Weg anhand eines einfachen Beispielformulars:

<form action="/handler" method="post">
  <input name="firstname">
  <input name="lastname">
  <button>Send</button>
</form>

Aus diesem könntest du herauslesen, dass du einen POST-Request an die Adresse <Protokoll + Domain der Webseite>/handler schicken müsstest. Den Querystring für den Request Body musst du nicht selbst bilden. Die requests-Bibliothek benötigt die Daten lediglich im JSON-Format:

{
  "firstname": "John",
  "lastname": "Doe"
}