Ich bin neu bei Python und ich weiß nicht einmal, ob ich richtig frage, aber die Sache ist, dass ich eine Anfrage an eine Seite senden muss, um mich einzuloggen und diese Seite sendet mir eine Nachricht, die mir das sagt Ich muss JavaScript aktivieren, bevor Sie diese Website verwenden.Kann ich umgehen "Javascript ist erforderlich" ohne Selenium oder ähnliches?
Ich habe es mit Selenium gemacht und alles ist in Ordnung, funktioniert gut (mehr Zeug, nicht nur die Anmeldung), aber jetzt möchte ich es ohne Selenium schaffen, eigentlich ohne irgendein Browserfenster, ist das überhaupt möglich? Ich schätze es ist, aber gut, ich brauche etwas Hilfe dabei, da ich nicht den Weg finde, es zu tun.
#!/usr/bin/python3
import requests
userEmail = "[email protected]" #using real data in the script
userPass = "xxxxxxxxxxxxx" #using real data in the script
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest'
}
def main():
r = requests.post('https://www.thedomain.com/en/customer/account/loginPost/',
data = {'login[username]':userEmail, "login[password]":userPass}, headers=headers)
print(r.text)
if __name__ == "__main__": main()
Und dies ist die Botschaft, die ich erhalten:
<html>
<title>You are being redirected...</title>
<noscript>Javascript is required. Please enable javascript before you are allowed to see this page.</noscript>
</html>
Kann ich das ohne Selen umgehen?
würde ich nicht sagen. Die Seite könnte dynamisch generiert werden (zum Beispiel mit Angular oder React). Wenn JS deaktiviert ist, besteht keine Chance, dass Sie den generierten Inhalt sehen können. –
aber wenn Sie dies ohne ein Browserfenster als Ihre Hauptanforderung tun wollen, schauen Sie in phantomjs, Sie verwenden immer noch Selen, aber es ist ein "kopfloser" Browser, so dass kein Fenster erscheint, aber es kann immer noch das erforderliche Javascript –
tut es Was für eine Antwort bekommst du? Wie funktioniert die Login-Logik? Normalerweise meldet man sich irgendwo an, wenn man einen Cookie oder etwas Ähnliches (mit der Sitzungs-ID) bekommt, das man bei allen folgenden Anfragen benutzt, um anzuzeigen, dass man gerade eingeloggt ist. – Metareven