1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Projekte
  5. Firefox-Automatisierung

"Login" klicken

  • HansJ54
  • 28. September 2016 um 17:40
1. offizieller Beitrag
  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 28. September 2016 um 17:40
    • #1

    Hallo zusammen,

    ich habe schon einige Stunden mit der Suche zugebracht und vieles getestet, bisher ohne Erfolg. Vermutlich ist es recht einfach, mir fehlen vielleicht nur die richtigen Suchbegriffe:

    Problem:
    Man nehme eine Login-Seite, setze Benutzername und Passwort ein (das ist meist kein Problem) und schicke das dann ab. Bei einigen Seiten schaffe ich es allerdings nicht, auf das Login zu klicken bzw. die Daten irgendwie überhaupt abzuschicken. Wer kann helfen?

    Beispiel:
    https://www.maklerweb.de/
    Wenn mir jemand zum Klicken auf Login eine Idee liefern könnte?

    Alternativ kann man ein Enter schicken, dazu müsste der Fokus aber im Feld Passwort stehen. Mit ein paar Tabs komme ich dahin, aber bei der kleinsten Änderung funktioniert das nicht mehr.
    2. Frage, die mir weiterhelfen kann:
    Wie kann ich den Fokus im Beispiel oben in das Feld Passwort setzen?

    Vielen Dank für Eure Hilfe - und wenn es nur ein Hinweis auf einen Thread ist. Wie gesagt, ich habe gesucht und nichts Passendes gefunden.

    Noch was: es wäre hilfreich, das Klicken sowohl bei Firefox wie auch beim IE zu beherrschen.

    Hans Jürgen

    :)

  • alpines
    天照大神
    Beiträge
    4.209
    • 28. September 2016 um 17:51
    • #2

    Womit klickst du denn auf das Feld? Ein paar Infos und ein Script wären hilfreich.

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 29. September 2016 um 15:09
    • #3

    Da ich das Feld nicht "identifiziert" bekomme, da es aus meiner Sicht keine ansprechbare ID, Name oder URL hat, funktioniert bei mir keiner der üblichen Befehle:

    $Success5 = _FFClick($SmButton, $SmMode, $SmIndex)
    $Success5 = _FFImageClick($SmImg,$SmMode)
    $Success5 = _FFFormSubmit()

    :)

  • autoBert
    Poweruser
    Beiträge
    6.141
    • 29. September 2016 um 15:51
    • #4
    Zitat von HansJ54

    Da ich das Feld nicht "identifiziert" bekomme, da es aus meiner Sicht keine ansprechbare ID, Name oder URL hat, funktioniert bei mir keiner der üblichen Befehle:

    Damit sind wir genaus so schlau wie vorher und können keine gezielte Hilfe geben.

    Zitat von alpines

    Womit klickst du denn auf das Feld? Ein paar Infos und ein Script wären hilfreich.

    Ich geh noch etwas weiter, die URL der Website bzw. deren Sourcecode sind auch erforderlich.

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 29. September 2016 um 16:06
    • #5

    Der Link zu einer der betroffenen Seiten steht doch oben, war kein Dummy

    Hier noch mal: https://www.maklerweb.de/

    Ich kann Benutzername und Passwort eintragen mit $Success2 = _FFSetValue($User, $Userfield, $UFMode), da ich diese beiden Felder identifizieren kann mit id="tbUsername" und id="tbPassword". Beim "Login" scheint sich die id zu verändern, eben sah sie so aus: id="main_0_phhomepagecontainer_1_LoginButtonJavascript" , was man vielleicht ja sogar nutzen könnte. Ich hatte aber gestern z.B. einen Zahlenbandwurm darin.

    Wenn ich dann nach dem Eintragen den Fokus im Feld Passwort hätte, würde ein einfaches Enter reichen für den Submit, habe ich getestet. Der Fokus steht aber irgendwo, nur nicht da, wo ich ihn brauche.

    1. Frage: wie kann ich in so einem Fall den Fokus in eines dieser Felder setzen, hier also bei id="tbPassword". Das Problem habe ich öfter und bei meinen Versuchen bin ich immer gescheitert.

    2. Frage: wie kann ich ohne Fokus und Enter (ist nicht immer möglich) dieses Login anklicken, submitten oder sonstwie erreichen.

    Danke für Eure Hilfe!

    Dateien

    Login.jpg 97,49 kB – 0 Downloads

    :)

    2 Mal editiert, zuletzt von HansJ54 (29. September 2016 um 16:18) aus folgendem Grund: Optik

  • Stilgar
    Poweruser
    Reaktionen
    1
    Beiträge
    1.616
    • 30. September 2016 um 19:06
    • #6

    Hallo,

    der Login ist ja ein komisches "Gebastel".

    Geht es denn über die Seite:
    https://www.maklerweb.de/secure/
    mit den "normalen" Methoden?

    Grüße
    Stilgar

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 30. September 2016 um 19:37
    • #7

    Nein, über die /secure geht es nicht. Mit "Gebastel" hast Du recht. Ich bin auch nicht in der Lage festzustellen, wann die Seite wirklich komplett da ist. Mit Deinem Auto-Login-Generator gibt es manchmal 14, mal 13 und mal 1 Treffer für $aType, je nachdem wie lange ich warte. Aber die Zeit ist rein zufällig, mal reicht eine Msgbox, die ich wegklicke, mal muss ich ewig warten.

    Wenn der Entwickler persönlich vor Ort ist ... Vielleicht kannst Du das ja "aus dem Ärmel schütteln":

    • Wie setzt man den Fokus in ein Feld, von dem man die ID kennt? Dann käme ich ja schon weiter mit einem Enter. Hier "Passwort".
    • Wie kann ich das vollständige Laden der Seite checken?

    Ich habe dafür Befehle gefunden, aber ich schaffe es nicht oder sie funktionieren nicht. Wir haben etliche solcher Seiten, die irgendwann mal ganz easy funktioniert haben, jetzt aber plötzlich mucken - vermutlich wegen Java.

    Viele Grüße - kurz vor der Verzeiflung (oder danach)
    Hans Jürgen

    :)

  • Oscar
    Moderator
    Reaktionen
    8
    Beiträge
    7.381
    • 30. September 2016 um 19:51
    • Offizieller Beitrag
    • #8
    Zitat von HansJ54

    vermutlich wegen Java

    Javascript! Nicht Java.
    Und wie Stilgar schon geschrieben hat, so einen Login habe ich auch noch nicht gesehen.
    Da wird irgendwie per Javascript der Login durchgeführt. Vermutlich um ein automatisches einloggen zu verhindern.

    MfG. Oscar

    Forum: Arduino, Elektronik, AutoIt

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 30. September 2016 um 20:08
    • #9

    Aber kann nicht jemand mal nur das eine Problem beantworten, hat auch nichts speziell mit dieser Seite zu tun:

    Ich habe ein Feld, z.B. Benutzer, das ich über die ID erreiche und den Wert eintrage mit _FFSetValue($User, $Userfield, $UFMode) und will anschließend den Fokus in dieses Feld (ich habe die ID des Feldes) setzen.
    Wie geht das oder geht das nicht?

    :)

    Einmal editiert, zuletzt von HansJ54 (30. September 2016 um 20:14)

  • alpines
    天照大神
    Beiträge
    4.209
    • 30. September 2016 um 20:20
    • #10

    Klappt das nicht bei dir

    AutoIt
    #include <IE.au3>
    
    
    _IEErrorNotify(False)
    
    
    Do
    	$oIE = _IECreate("maklerweb.de")
    Until IsObj($oIE)
    
    
    $oUser = _IEGetObjById($oIE, "tbUsername")
    $oPass = _IEGetObjById($oIE, "tbPassword")
    $oSubmit = _IEGetObjById($oIE, "main_0_phhomepagecontainer_1_LoginButtonJavascript")
    
    
    _IEFormElementSetValue($oUser, "bla")
    _IEFormElementSetValue($oPass, "blub")
    
    
    _IEAction($oSubmit, "click")
    Alles anzeigen

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 30. September 2016 um 21:12
    • #11

    Super, danke, auf einem Client funktioniert es auf Anhieb und immer, auf einem anderen nie. Das war der Grund, weswegen wir es mit FF versuchen wollten.
    Danke schon mal, jetzt müssen wir den Unterschied suchen bei den Einstellungen der beiden IE.

    Kann man das auch 1:1 übersetzen für den FF?

    :)

  • alpines
    天照大神
    Beiträge
    4.209
    • 1. Oktober 2016 um 01:16
    • #12

    Würde das lieber mit WinHttp coden wenn du dort nicht viel machen willst.

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 1. Oktober 2016 um 15:36
    • #13

    Ich kenne WinHttp nicht, kannst Du mir das Beispiel mal damit darstellen?

    Wir haben noch nicht herausgefunden, warum die IE-Lösung auf dem einen Client funktioniert und auf dem anderen nicht. Dafür funktioniert aber FF mit:

    $sObj = _FFXpath("id('main_0_phhomepagecontainer_1_LoginButtonJavascript')","",9)
    $Success5 = _FFDispatchEvent($sObj,"keypress",13)

    Da allerdings die ID sich scheinbar gelegentlich verändert, zuletzt hatte sie noch einen Zahlenbandwurm (vermutlich so etwas wie eine Session-ID) drin, bräuchte man da etwas Allgemeineres, um den jeweiligen Suchstring ('main_0_phhomepagecontainer_1_LoginButtonJavascript') zu finden, wenn er jedes Mal anders ist. Idee?

    Aber noch mal die Frage, die nur bedingt mit der o.a. Seite zu tun hat: wie setze ich den Fokus in ein Input-Feld, wenn ich die ID habe? Geht das nicht?

    Schönes Wochenende!

    :)

  • TrueVision
    Beiträge
    26
    • 6. Oktober 2016 um 04:51
    • #14

    Hallo,
    Es ist zwar schon etwas spät, aber vielleicht brauchst du es ja noch (mit FF.au3):


    Code
    #include <FF.au3>
    
    
    _FFStart( "https://www.maklerweb.de/")
    
    
    $Username = "Blub"
    $Passwort = "Blub123"
    
    
    _FFSetValue( $Username, "tbUsername", "id")
    _FFSetValue( $Passwort, "tbPassword", "id")
    
    
    _FFClick( "form-btn link-arrow", "class") ; <----- Klicke auf Login
    Alles anzeigen

    Du kannst auch "class" benutzen um den Button zu drücken.

    MfG
    Ich

  • HansJ54
    Fortgeschrittener
    Beiträge
    251
    • 6. Oktober 2016 um 10:58
    • #15

    Danke für den Tipp, bin für jede Info dankbar, da wir viele solcher Zugänge pflegen und die Seiten permanent geändert werden.

    Der Click mit "class" funktioniert auf Anhieb zwar erst mal nicht, da das Passwort-Feld durch den Click gelöscht wird (warum auch immer). Aber ist wieder ein guter Ansatz.

    Die eine Frage ist immer noch offen: es würde uns sehr helfen, wenn wir den Fokus in ein Feld, z.B. hier das Passwort-Feld, setzen könnten. Wir haben es bisher nicht geschafft. Wie geht das beim FF?

    Gruß
    HJ

    :)

  • TrueVision
    Beiträge
    26
    • 6. Oktober 2016 um 16:40
    • #16

    Das weiß ich leider nicht. Du kannst mal die Funktionsreferenz von FF.au durchschauen, vielleicht geht das ja mit _FFFrameEnter
    http://german.documentation.ff-au3.thorsten-willert.de/

    und du könntest mal versuchen diesen Befehl für den Login-Button zu benutzen: _FFLinkClick( "Login", "text")

  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™