Wie kann ich mit Mechanize ein namenloses (None) Feld auswählen und füllen?

Django, Flask, Bottle, WSGI, CGI…
Antworten
JohnMaynard
User
Beiträge: 3
Registriert: Montag 20. Juni 2016, 20:32

Guten Abend zusammen!
Ich versuche mich zurzeit etwas an mechanize und bin nun auf ein Problem gestoßen, wo mir andere Internet Beiträge nicht weiter helfen.
Ein Beispiel:
Ich möchte das Passwort Feld auf Gmail ausfüllen
und das Feld sieht so aus:
<PasswordControl(<None>=)>
Was muss jetzt bei select_form(...) hinein, dass ich an PasswordControl komme
, bzw. wie muss .form[...]= aussehen, um dieses None Feld zu füllen?

Danke im Voraus!
JohnMaynard
llit
User
Beiträge: 1
Registriert: Montag 20. Juni 2016, 20:51

Könntest du vieleicht auch den Teil HTML posten der hier verwendet werden soll?
Mechanize funktioniert eigentlich nicht mit dem Gmail Login, da man kein Javascript ausführen kann.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ein Formularfeld braucht einen Namen damit man es (ohne JS) an den Server schicken kann. Mechanize wird dementsprechend für diese Situation wahrscheinlich nichts anbieten.

Eine Alternative wäre einen richtigen Browser zu verwenden und diesen mit Selenium zu kontrollieren. Dein Ansatz ist allerdings schon grundsätzlich nicht sinnvoll weil es eine API gibt. Es wäre wesentlich besser einfach diese zu benutzen. Die zu benutzen sollte es dir wesentlich einfacher machen, deine Anwendung schneller und vertrauenswürdiger. Außerdem kann sie nur so mit 2FA funktionieren.
JohnMaynard
User
Beiträge: 3
Registriert: Montag 20. Juni 2016, 20:32

DasIch hat geschrieben:Ein Formularfeld braucht einen Namen damit man es (ohne JS) an den Server schicken kann. Mechanize wird dementsprechend für diese Situation wahrscheinlich nichts anbieten.
Das heißt, dass das so auch nicht angesprochen werden kann?Danke!

Selenium hatte ich noch gar nicht in betracht gezogen, danke dafür!
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Selenium hab ich nur der Vollständigkeit halber erwähnt. Du solltest weder Mechanize noch Selenium nutzen. Gmail hat eine API die du nutzen solltest und die du wahrscheinlich auch nutzen musst um die Nutzungsbedingungen nicht zu verletzen.
JohnMaynard
User
Beiträge: 3
Registriert: Montag 20. Juni 2016, 20:32

DasIch hat geschrieben:Selenium hab ich nur der Vollständigkeit halber erwähnt. Du solltest weder Mechanize noch Selenium nutzen. Gmail hat eine API die du nutzen solltest und die du wahrscheinlich auch nutzen musst um die Nutzungsbedingungen nicht zu verletzen.
Es geht mir nicht direkt um Gmail...es diente hier nur als Beispiel, weil mir das dort zuerst aufgefallen ist.
Mir geht es hier nur um den Fall des namenlosen Feldes.
Antworten