"Klick" - button bei Anfragen
Habe ich dieser kleinen website möchte ich ein Formular ausfüllen mit den Anforderungen der Bibliothek. Das problem ist ich kann nicht auf die nächste Seite beim ausfüllen des Formulars Daten und schlagen Sie die Taste(Enter funktioniert nicht).
Das wichtigste ist, ich kann es nicht über einen Klick bot der in irgendeiner Form. Dies muss getan werden, damit ich laufen kann, ohne Grafiken.
info = {'name':'JohnJohn',
'message':'XXX',
'sign':"XXX",
'step':'1'}
Ersten drei Einträge name, Nachricht, Zeichen sind die Bereiche text und Schritt ist denke ich die Taste.
r = requests.get(url)
r = requests.post(url, data=info)
print(r.text)
Daten des Formulars sieht so aus, wenn ich eine Anfrage schicken via chrome manuell:
- name:JohnJohn
- Meldung:XXX
- Zeichen:XXX
- Schritt:1
Das button-element wie folgt aussieht:
HTML:
<td colspan="2" style="text-align: center;">
<input name="step" type="hidden" value="1">
<button id="button" type="button" onclick="myClick();"
style="background-color: #ef4023; width: 80px; font-face: times; font-size: 14pt;">
Wyślij
</button>
</td>
Den nächsten Ort, wenn ich das manuell tun, hat die gleiche Adresse.
- Kannst du den link?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie vielleicht sehen vom Schnitt, den Sie geschrieben, Klick auf den button löst einen JavaScript-code, nämlich eine Methode namens
myClick()
.Es ist nicht einfach, klicken Sie auf diese Sache mit Python-requests-Bibliothek. Vielleicht haben Sie mehr Glück zu versuchen, um herauszufinden, was passiert im inneren
myClick()
. Meine Vermutung wäre, dass irgendwann einPOST
Anfrage gemacht werden, um eine HTTP-Endpunkt. Wenn Sie dies herausfinden, können Sie übersetzen es in Ihre python-code.Wenn das nicht funktioniert, eine andere Möglichkeit wäre die Verwendung von so etwas wie Selenium/PhantomJS, die Ihnen die Möglichkeit geben, einen echten, kopflos und skriptfähige browser. Mit einem solchen tool, Sie können tatsächlich müssen Sie Formulare ausfüllen, und klicken Sie auf die Tasten. Sie können einen Blick auf diesen so beantworten, als es zeigt Ihnen, wie Sie Selen+PhantomJS von python.
Bitte stellen Sie sicher, Sie nicht zu missbrauchen solche Methoden, die durch spamming in Foren oder [insert illegalen oder sonst missbräuchlichen Aktivität hier].
.js
Dateien, die sind erforderlich für die Seite, öffnen Sie einfach den Chrome-Dev-Tools und die richtige zu finden im Reiter "Ressourcen".myClick
zu sehen, was passiert.In einer solchen situation, wenn Sie benötigen zu fälschen scripted-Taste Wunsch, kann es einfacher sein, nicht zu erraten, die Logik von JS, aber stattdessen führen Sie eine körperliche klicken Sie auf und schauen Sie in chrome devtools' Netzwerk-sniffer, die Ihnen einen einfachen Anforderung vorgenommen, die wiederum, können leicht gefälscht werden in Python