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
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Faultier_1982

Beiträge von Faultier_1982

  • Webabfrage - Mit Java nachgeladene Inhalte aus Webseite auslesen.

    • Faultier_1982
    • 26. Dezember 2022 um 23:06

    Hallo,

    vielen Dank für die Infos.

    Ich möchte die Kurs-Daten auslesen, damit ich sie in Excel besser auswerten kann.

    Ich habe das von dir dargestellte gefunden, aber wenn ich die dazugehörige URL kopiere kommt leider nur diese "Fehlermeldung" im Browser es werden keine Ausgegeben.

    Code
    {"HttpStatus":401,"ErrorMessage":"Session is not valid","ErrorCode":4011}

    Gruß

  • Webabfrage - Mit Java nachgeladene Inhalte aus Webseite auslesen.

    • Faultier_1982
    • 26. Dezember 2022 um 15:49

    Hallo,


    Es gibt noch keinen Code, da ich noch nicht weiß ob ich an die Daten überhaupt ran komme. Ich habe mir bisher im Google-Chrome Browser nur die Internetseite und den Quellcode angesehen und festgestellt, dass ich die benötigten Informationen nicht markieren kann und auch im Quellcode nicht enthalten sind. Je nachdem auf welche Weise ich an die Werte ran komme muss ich mir dann überlegen, wie mein Code aussieht. Das Ziel ist auf jeden Fall die Kurs-Daten auszulesen und dann entweder direkt in Excel zu speichern oder in eine Datenbank, das werde ich dann sehen, wie viele es sind.

    pasted-from-clipboard.png

    Das ist das Chartbild, deren Werte ich benötige. das beste wäre natürlich, wenn ich alles auf einmal auslesen könnte, vielleicht kann ich auch nur jeden Tag einzeln mit den roten Zahlen im oberen bereich auslesen.

    ich verwende keine ad-Blocker....

    Bis jetzt habe ich im Chrome-Browser das Entwicklertool geöffnet und unter Netzwerk die "Aufzeichnung des Netzwerkprotokolls aktiviert". Die Seite nochmals neu geladen und dann im Bereich "Name" die Links der aufgelisteten Positionen in einem anderen Tab öffnen lassen. In diesem Inhalt habe ich dann nach den Werten, die ich benötige, gesucht und leider nicht gefunden.

    Gruß

  • Webabfrage - Mit Java nachgeladene Inhalte aus Webseite auslesen.

    • Faultier_1982
    • 26. Dezember 2022 um 11:24

    Hallo,

    ich würde gerne auf dieser Seite "https://www.forex.com/ie/markets-to-trade/indices-trading/wall-street/" die werte aus dem Chartbild auslesen, leider sind die Werte im Quellcode nicht enthalten da sie vermutlich mit Javascript nachgeladen werden. ich habe versucht die URL im "Entwicklertool/Netzwerk" herauszufinden, die die Werte enthält, habe ich aber nicht gefunden. Ich vermute, dass das irgendwie anders funktioniert. Gibt es dafür eine Möglichkeit? Zur nur auch nur die Werte, die einem im oben Chart dynamisch angezeigt werden ja nachdem wo man mit der Maus gerade ist.

    Gruß

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 30. Juni 2020 um 22:29
    Zitat von HansJ54

    Wenn Du gemäß Anleitung nach den Webdrivern suchst, findest Du die richtigen: z.B. Geckodriver

    Und wenn Du dann das hier gefunden hast, liegst Du richtig:

    Ja... dann habe ich da bis jetzt alles richtig gemacht vielen Dank...


    Was das Piepen angeht.... Ich habe mal ein Beispiel-Code erstellt, in dem bei mir das Piepen vorkommt.... Vielleicht erkennt jemand das Problem

    Wenn ich diese Zeile deaktivieren ist das Piepen zwar weg aber für meinen Code natürlich schlecht.... :D

    C
    #include "wd_core.au3"
    #include "wd_helper.au3"
    #include <MsgBoxConstants.au3>
    
    
    $_WD_DEBUG = False    ; Webdriver Debug-Fenster
    Local $sDesiredCapabilities, $sSession, $sSource
    
    SetupGecko()
    ;_SetupChrome()    ; Initialisierung ChromeDriver
    _WD_Startup()    ; Launch the designated web driver console app
    Local $sSession = _WD_CreateSession($sDesiredCapabilities)    ; Request new session from web driver
    
          Local $sUrl = "https://www.youtube.com" ; Url
          _WD_Navigate($sSession,$sUrl)    ; Navigate to the designated URL
    
          ;####################################
          Dim $geladen_Suchbrgriff = "Mediathek"
          Call ("Warte_bis_Seite_geladen")
          ;####################################
    
    _WD_DeleteSession($sSession)    ; Session schließen
    _WD_Shutdown()    ; ChromeDriver beenden
    
    
    Func Warte_bis_Seite_geladen()
    
       Local $Zeidauer = TimerInit()
       Local $Seite_gefunden = 0
    
       While True                    ;Endlosschleife
          $sSource = _WD_GetSource($sSession) ;liest den Quell-Code der Seite aus
    MsgBox(0,"Info", "Hier entsteht das Piepen glaube ich ""$sSource = _WD_GetSource($sSession)"" entferne ich das aus dem Code, ist das Piepen weg. aber warum??? ")
          If StringInStr($sSource, $geladen_Suchbrgriff) <> 0 Then
              $Seite_gefunden = 1
              ExitLoop
          EndIf
          If TimerDiff($Zeidauer) >= 30 * 1000 or $Seite_gefunden = 1 Then ExitLoop
       WEnd
    
    EndFunc
    Alles anzeigen

    Gruß Faultier

  • ControlClick - wo welche Werte eintragen

    • Faultier_1982
    • 30. Juni 2020 um 21:56
    Zitat von autoBert

    Für den IE benutzt du am besten die IE.au3

    Ich den Internetexplorer nutze ich eigentlich nicht so oft und wollte generell einfach mal ausprobieren wie das mit ControlClick funktioniert, um es allgemein anwenden zu können...

  • ControlClick - wo welche Werte eintragen

    • Faultier_1982
    • 29. Juni 2020 um 17:53

    Hallo...

    Ich würde mich mal gerne mit dem Befehl "ControlClick" befassen, vielleicht finde ich mal einen Einsatzbereich dafür.... Muss eigentlich das Fenster Aktiv im Vordergrund sein, dass der Befehl funktioniert? Ich habe mit Autoit Windor Info mal was zum klicken gesucht, weiß aber nicht, wo ich welche Werte genau eingeben muss.... Habe schon einiges versucht aber nichts hat bis jetzt funktionieren wollen.

    Code
    ControlClick ( "Deutsche Wirtschafts Nachrichten - deutsche-wirtschafts-nachrichten.de - Internet Explorer", "", "[CLASS:DirectUIHWND; INSTANCE:3]", "left" , 1 , 104 , 12 )

    Hier die Infos aus Autoit Windows Info

    Code
    >>>> Window <<<<
    Title:    Deutsche Wirtschafts Nachrichten - deutsche-wirtschafts-nachrichten.de - Internet Explorer
    Class:    IEFrame
    Position:    -8, -8
    Size:    1936, 1056
    Style:    0x17CF0000
    ExStyle:    0x00000100
    Handle:    0x000000000001026C
    
    >>>> Control <<<<
    Class:    DirectUIHWND
    Instance:    3
    ClassnameNN:    DirectUIHWND3
    Name:    
    Advanced (Class):    [CLASS:DirectUIHWND; INSTANCE:3]
    ID:    
    Text:    
    Position:    0, 61
    Size:    1920, 23
    ControlClick Coords:    104, 12
    Style:    0x56000000
    ExStyle:    0x00000000
    Handle:    0x00000000000102AE
    
    >>>> Mouse <<<<
    Position:    104, 65
    Cursor ID:    0
    Color:    0xFFFFFF
    
    >>>> StatusBar <<<<
    1:    
    2:    
    
    >>>> ToolsBar <<<<
    
    >>>> Visible Text <<<<
    Navigationsleiste
    Adressleiste
    https://deutsche-wirtschafts-nachrichten.de/
    Kombinationssteuerelement "Adresse"
    Seitensteuerung
    Suchleiste
    Kombinationssteuerelement "Adresse"
    Favoriten und Symbolleiste
    ITBarHost
    Menüleiste
    Deutsche Wirtschafts Nachrichten - deutsche-wirtschafts-nachrichten.de - Internet Explorer
    Vergrößerungsstufe
    
    
    >>>> Hidden Text <<<<
    Seitensteuerung
    ITBarHost
    Menüleiste
    Control ID eines Buttons auslesen [Minecraft] - Hilfe & Unterstützung - AutoIt.de - Das deutsch - Internet Explorer
    Vergrößerungsstufe
    ITBarHost
    Menüleiste
    AutoIt Window Info Tool - Internet Explorer
    Vergrößerungsstufe
    ITBarHost
    Menüleiste
    Home | Börse Stuttgart - Internet Explorer
    Vergrößerungsstufe
    ITBarHost
    Menüleiste
    WEB.DE - E-Mail-Adresse kostenlos, FreeMail, De-Mail & Nachrichten - Internet Explorer
    Vergrößerungsstufe
    ITBarHost
    Menüleiste
    Leere Seite - Internet Explorer
    Vergrößerungsstufe
    Alles anzeigen

    Gruß Faultier

  • Eine mit Autoit erstellte, laufende .exe finden und beenden mit einer zweiten Autoit-EXE

    • Faultier_1982
    • 27. Juni 2020 um 12:42
    Zitat von alpines

    Also anstatt die Mühe zu investieren, einen Watchdog zu programmieren würde ich lieber einfach das eigentliche Programm überarbeiten und Fehlerfälle abfangen, dann haste diese Sorgen auch nicht mehr.

    Mir kommts so vor als ob du dein 1. Skript ziemlich schlampig programmiert hast. Wenn du uns es zeigst können wir es uns ja mal ansehen und mit ein paar Hinweisen, wo es sich aufhängt dir helfen?

    Bis jetzt hat sich mein Programm noch nicht aufgehängt.... aber ich wollte einfach für die den Fall der Fälle gewappnet sein, weil das Programm schlussendlich auf einem Home-Server laufen soll, das ich nicht immer im Blick haben kann/will.... reine Vorsichtsmaßnahme..... Zusätzlich wollte ich meinen Server auf einmal am Tag neu starten lassen und hoffe so, dass alles so stabil wie möglich funktioniert.... Ist mein Denkansatz falsch?

  • Eine mit Autoit erstellte, laufende .exe finden und beenden mit einer zweiten Autoit-EXE

    • Faultier_1982
    • 27. Juni 2020 um 12:03

    Vielen Dank für eure Vorschläge. Eigentlich möchte ich eine Autoit-EXE dauerhaft laufen lassen. Aber weil es immer mal wieder vorkommen kann, dass ein Programm sich aufhängt oder sich nach einem Fehler selber schließt, würde ich gerne regelmäßig prüfen, ob das Programm noch läuft, und wenn es nicht läuft neu starten. Zusätzlich möchte ich das Programm nach einer gewissen Zeit einfach schließen und frisch starten, weil glaube/hoffe, dass so die Chance größer ist, dass das Programm dauerhaft zuverlässig läuft. Ob das alles auch so funktioniert wich ich es mit erhoffe weiß ich natürlich noch nicht.... :)

  • Eine mit Autoit erstellte, laufende .exe finden und beenden mit einer zweiten Autoit-EXE

    • Faultier_1982
    • 26. Juni 2020 um 23:25

    Hallo...

    Ich habe mit Autoit ein kleines Programm geschrieben und als .exe formatiert. Dieses Programm läuft auch wunderbar.

    Nun würde ich gerne ein zweites Autoit-Programm schreiben, mit dem ich prüfen kann, ob das erste Programm läuft und falls es läuft auch beenden kann.

    Ich habe mal versucht es mit "WinList()" überhaupt zu finden, aber leider wird es nicht eindeutig erkennbar und identifizierbar, wenn es damit überhaupt zu finden ist.

    Was hättet ihr mir für Vorschläge das umzusetzen?

    Gruß Faultier

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 25. Juni 2020 um 21:28

    Hallo...

    kann ich eigentlich alle Dateien, außer die Cromdriver.exe, die ich zu beginn für den Chrome-Browser runter laden musste auch für den Firefox-Browser nutzen oder brauche ich da ein anderes Dateien.

    Ich habe die geckodriver.exe Version 71.0.0.7222 ist das die aktuelle? Mein Firefox hat die Version 77.0.1 (64Bit). ich vermute, dass ich nicht die richtige Datei gefunden habe... wo finde ich denn die richtige Datei?

    Gruß

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 25. Juni 2020 um 14:48

    Hallo...

    Wie würden hier denn die Anderungen aussehen, wenn man auch mit Firefox die Einstellungen im Browser speichern will?

    Code
    Func SetupGecko()
    _WD_Option('Driver', 'geckodriver.exe')
    _WD_Option('Port', 4444)
    _WD_Option('DriverParams', '--log trace')
    $sDesiredCapabilities = '{"desiredCapabilities":{"javascriptEnabled":true,"nativeEvents":true,"acceptInsecureCerts":true}}'
    EndFunc

    Und woher kommt das ständige Piepen, während Firefox aufgeführt wird? kann es sein, dass Firefox das macht, wenn man Elemente im Code zum klicken hat, die im Browser nicht verfügbar sind? irgendwie extrem nervig.

    Gruß Faultier

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 23. Juni 2020 um 21:35

    Hallo...

    der "Switch" Befehl geht mir ein bisschen auf die Nerven, weil er nicht nur das Tab im Chrome nach vorne holt, sondern er es komplett nach vorne holt. Wenn ich also gerade im Firefox oder Excel etwas anderes arbeiten will, ploppt mir der "Switch" Befehl immer in meine Arbeit, indem er das Chrome nach vorne auf den Desktop holt... gibt es da noch eine Möglichkeit um das zu verhindern??

    so habe ich es versucht, dass ich den "Switch" Befehl gar nicht verwenden muss, hat aber nicht geklappt.

    Code
    Local $sSession = _WD_CreateSession($sDesiredCapabilities)    ; Request new session from web driver
    Local $Tab_ID_1 = _WD_Window($sSession, "window")    ;ID des Tabs zur Navigation
    
    ;weiterer Code
    
    Local $Tab_ID_2 = _WD_NewTab($sSession, True, -1) ;, 'width=1000,height=1000')
    
    ;weiterer Code
    
    Local $sUrl = "https://www.Google.de.com" ; Url
    _WD_Navigate($Tab_ID_1,$sUrl)    ; Navigate to the designated URL
    Alles anzeigen

    Hatte gehofft, so nicht Switchen zu müssen und das entsprechende Tab direkt ansteuern zu können, ohne ihn in den Vordergrund holen zu müssen


    Wenn ich das mit Firefox mal versuchen will, was benötige ich dafür und wo finde ich das? Soll ich dann dafür ein neues Thema auf machen oder bekomme ich dann wieder den Hinweis, dass ich meine Themen der letzten Jahre anschauen soll?

    Gruß

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 22. Juni 2020 um 22:38
    Zitat von HansJ54

    Die Browser sehen anders aus aufgrund der Parameter, die Du mit Desiredcapabilities übergibst. Dazu müsstest Du mal tiefer beim Chromedriver einsteigen.

    ok.... ich möchte es einfach identisch zum normalen Chrome haben... Das sollte doch eigentlich der Standard sein...

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 22. Juni 2020 um 15:40
    Zitat von HansJ54

    wd_loadwait scheint tatsächlich manchmal nicht auszureichen. Da gebe ich dann noch ein Sleep(3000) dazu. Ausprobieren!

    Ich habe eine Funktion geschrieben, die in einer Schleife auf ein bestimmten String im Quell-Code wartet, bevor es weiter geht.... läuft wesentlich zuverlässiger...

    Code
    Func Warte_bis_Seite_geladen()
       Local $Zeidauer = TimerInit()
       Local $Seite_gefunden = 0
       While True                    ;Endlosschleife
          $sSource = _WD_GetSource($sSession) ;liest den Quell-Code der Seite aus
          If StringInStr($sSource, $Anmelde_Suchbrgriff) <> 0 or StringInStr($sSource, $geladen_Suchbrgriff) <> 0 Then
              $Seite_gefunden = 1
              ExitLoop
          EndIf
          If TimerDiff($Zeidauer) >= 30 * 1000 or $Seite_gefunden = 1 Then ExitLoop
       WEnd
    EndFunc
    Alles anzeigen


    ich habe das Gefühl, dass Chrome, die Automatisierungssoftware verwendet, etwas anders ist als der normale Chrome-Browser... zumindest sind die Einstellungen nicht identisch und auch die Seiten sind teilweise geringfügig unterschiedlich.... Warum ist das so und wie kann man diese automatisierungs-Variante abschalten?

    Gruß

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 20. Juni 2020 um 21:55
    Zitat von water

    TimerDiff gibt den Wert in Millisekunden zurück.

    Wenn Du den Wert durch 1000 dividierst, erhältst Du Sekunden.

    Wie willst Du dann ein Ergebnis von 0,008 erhalten?

    na 0,008 Sekunden gehe ich mal davon aus. Ich hatte ja das Gefühl, dass "_WD_Loadwait($sSession)" nicht funktioniert.... Die 0,008 Sekunden würden das bestätigen...

    Die Frage ist, warum funktioniert sie nicht und habt Ihr die gleiche Erfahrung gemacht?

  • If-Abfrage mit mehreren OR funktioniert nicht

    • Faultier_1982
    • 20. Juni 2020 um 14:25

    ist es also zu betrachten wie in der Mathematik Punkt vor Strich Klammer zuerst? In diesem Fall And vor Or Klammer zuerst?

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 20. Juni 2020 um 14:10
    Zitat von water

    Schau mal in die WD_Demo.au3 rein. Da wird Chrome genau so beendet:

    ja... ich habe es gesehen... hatte gehofft, dass es eine bessere Lösung gibt....


    Zitat von water

    Schreib mal vor und nach WD_Loadwait die Zeit auf die Konsole. So sieht man, wie lange die Funktion wartet.

    So? oder gibt es da eine schönere Lösung?

    Code
    Local $sUrl = "https://www.Google.com" ; Url
    _WD_Navigate($sSession,$sUrl)    ; Navigate to the designated URL
    
    Local $hTimer = TimerInit() 
    _WD_Loadwait($sSession)        
    MsgBox(0, "", Round(TimerDiff($hTimer)/ 1000,3))

    mit diesem versuch, wartet er 0,008 Sekunden also praktisch nicht.... aber ich habe es auch mal nur mit "_WD_Loadwait($sSession)" versucht, und das Internet ausgeschalten, es konnte also nicht fertig laden, und der Code lief einfach durch....

    Mein Problem ist nämlich, dass ich nach etwas auf der Seite suche, das noch nicht geladen ist, obwohl ich "_WD_Loadwait($sSession)" verwende.... er wartet auf jeden fall nicht, bis alles geladen ist.

    Gruß

  • Quellcode und Links aus dem Chrome Browser auslesen

    • Faultier_1982
    • 20. Juni 2020 um 12:46
    Zitat von water

    Das ist die korrekte Vorgangsweise - zumindest in meinem FF Skript funktioniert das perfekt.

    ok.... Chrome mag das offensichtlich nicht so...

    Zitat von water

    P.S. Wenn man Dir bei einem Problem helfen soll, dann musst Du möglichst vollständige Informationen zur Verfügung stellen. "Geht nicht" oder "Es kommt eine Fehlermeldung" genügt nicht.

    ich bemühe mich....


    Und warum funktioniert eigentlich das "_WD_Loadwait($sSession)" nicht?

    Code
    Local $sUrl = "https://www.Google.com" ; Url
    _WD_Navigate($sSession,$sUrl)    
    _WD_Loadwait($sSession)
    
    $sSource = _WD_GetSource($sSession)

    der Code läuft immer weiter, obwohl die Seite noch nicht geladen ist. Deshalb ist im "$sSource" am Ende der falsche oder zumindest nicht der Vollständige Quell-Code... :/

    Gibt es in einem Quell-Code einen Bereich/Zeichenfolge, die auf allen Seiten gleich ist und zum Schluss geladen wir, nach der man suchen kann, ob die Seite fertig geladen ist.

    Gruß

  • If-Abfrage mit mehreren OR funktioniert nicht

    • Faultier_1982
    • 20. Juni 2020 um 12:42

    Das bedeutet, wenn ich das "Or" nicht mit Klammern von einander trenne, kann ich es auch gleich weg lassen und habe das gleiche Ergebnis?

  • If-Abfrage mit mehreren OR funktioniert nicht

    • Faultier_1982
    • 20. Juni 2020 um 11:54

    ok....

    Ich sehe jetzt den Fehler, verstehe ich aber noch nicht.... Was ändert sich dann an dem Oder durch die Klammern? Oder bedeutet doch, dass entweder das eine ODER das andere True sein muss um um die MsgBox zu starten.... Ohne klammer verhält sich das Or doch wie ein And??? wofür brauch ich das Or dann? :/

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™