Website auf Neuen Text suchen und Button betätigen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Larissa90
Posts: 6
Joined: 04 Oct 2020, 14:19

Website auf Neuen Text suchen und Button betätigen

Post by Larissa90 » 04 Oct 2020, 14:40

Hallo Liebe Leute,

ich hoffe jmd kann mir bei diesem Problem helfen.

Ich möchte eine Website automatisch überwachen auf neu hinzugekommen Text und dann einen Button betätigen.

Es sind mehrere Links auf einer Seite, 10-20 Stück etwa, rasterförmig aufgebaut. Unter jedem dieser Links ist ein Button.
Es kommen hin und wieder neue Links dazu. Die Seite muss dafür natürlich alle paar Sekunden aktualisiert werden. Mein Script soll nun erkennen wenn ein neuer Link dazu gekommen ist und den Button unter dem Link betätigen.
Es müsste also der ganze Seiteninhalt in eine Variable oder in die Zwischenablage (oder in ein Textfile?) kopiert werden und nach jeder Seitenaktualisierung verglichen werden ob was neues dazu gekommen ist. Falls ja->Button darunter drücken.
Der Button heist immer "Ansehen", die Links heissen leider immer anderst.

Ich kriege es mit meinem Wissen gerade mal hin die Seite regelmäßig zu aktualisieren, aber das warst dann auch.

Ich habe bereits mit URLDownloadToFile probiert den Seiteninhalt in eine Datei zu kopieren, das funktioniert leider nicht da eine Anmeldung auf der Seite notwendig ist. Ich hab keine Ahnung wie man die Anmeldedaten im Script mitgeben kann und ob das überhaupt geht.
Ich könnte die Seite mit STRG+A markieren und in Zwischenspeicher oder Textfile einfügen. Aber was ich überhaupt nicht versteh ist wie das auf neuen Text durchsucht und der Button betätigt werden soll.

Ich wäre Euch sehr dankbar für jeden Tipp.
KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Website auf Neuen Text suchen und Button betätigen

Post by KHA » 05 Oct 2020, 09:55

Wenn man sich erst einloggen muss, um an den Inhalt der Seite zu kommen, gibt es 3 Möglichkeiten
1. Über internet Explorer mit hilfe von ComObjConnect() bzw. ComObjCreate()
2. Chrome.ahk
3. WinHttpRequest
Larissa90
Posts: 6
Joined: 04 Oct 2020, 14:19

Re: Website auf Neuen Text suchen und Button betätigen

Post by Larissa90 » 05 Oct 2020, 10:39

Ich nutze Chrome und habe mir die Chrome.ahk mal angeschaut. Ist leider zu kompliziert für mich, und ausserdem funktioniert das nur wenn Chrome sich im Debug-Modus befindet. Ich weiss nicht ob ich damit klarkomme und ob das so überhaupt funktioniert.
Würde es denn nicht mit der STRG+A Methode funktionieren? So wäre ich ja schon eingeloggt.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Website auf Neuen Text suchen und Button betätigen

Post by BoBo » 05 Oct 2020, 10:51

Problem beim Download mittels URLDownloadToFile dürfte die SessionID-Thematik sein: https://autohotkey.com/board/topic/35365-urldownloadtofile/

Doch vll geht es ja auch durch die Brust ins Auge ;) https://chrome.google.com/webstore/detail/visualping/pemhgklkefakciniebenbfclihhmmfcd und mit AHK wird dann eben der eMail-Eingang bzw ChromeTab ge-monitored :mrgreen:

Visualping is a simple service for monitoring websites for changes. You'll receive an email notification when it detects any change in the content of the page. Use the service for competition monitoring, price checks, ticket availability tracking and more using the server service and email alerts (62 checks/month free) or browser tab (free as your computer does the job)
KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Website auf Neuen Text suchen und Button betätigen

Post by KHA » 05 Oct 2020, 11:03

Ich kenne die Seite jetzt nicht, aber Strg+A wird nur den Text kopieren aber nicht die Verlinkungen. Und außerdem die lInks können nicht sauber extrahiert werden. Mit Quellcode könnte man anhand des ClassName oder IDs (oder was auch immer benutzt wird) besser identifizieren und extrahieren.
gregster
Posts: 8921
Joined: 30 Sep 2013, 06:48

Re: Website auf Neuen Text suchen und Button betätigen

Post by gregster » 05 Oct 2020, 13:21

Larissa90 wrote:
05 Oct 2020, 10:39
Ich nutze Chrome und habe mir die Chrome.ahk mal angeschaut. Ist leider zu kompliziert für mich, und ausserdem funktioniert das nur wenn Chrome sich im Debug-Modus befindet. Ich weiss nicht ob ich damit klarkomme und ob das so überhaupt funktioniert.
Ja, ist es etwas kompliziert, aber deine Problemstellung ist auch nicht gerade trivial.
Debug-Modus in Chrome ist normalerweise kein Problem - den bemerkt man im normalen Gebrauch gar nicht. Aber ja, der Browser muss in diesem Modus gestartet werden, um Chrome.ahk nutzen zu können (dafür kann man bspw. eine entsprechende Verknüpfung anlegen, oder AutoHotkey den Start des Browsers überlassen).

Ohne spezifischere Details zur Seite werden Vorschläge wahrscheinlich auch eher unspezifisch bleiben (müssen).
Larissa90
Posts: 6
Joined: 04 Oct 2020, 14:19

Re: Website auf Neuen Text suchen und Button betätigen

Post by Larissa90 » 06 Oct 2020, 11:34

BoBo wrote:
05 Oct 2020, 10:51
Problem beim Download mittels URLDownloadToFile dürfte die SessionID-Thematik sein: https://autohotkey.com/board/topic/35365-urldownloadtofile/

Doch vll geht es ja auch durch die Brust ins Auge ;) https chrome.google.com /webstore/detail/visualping/pemhgklkefakciniebenbfclihhmmfcd Broken Link for safety und mit AHK wird dann eben der eMail-Eingang bzw ChromeTab ge-monitored :mrgreen:

Visualping is a simple service for monitoring websites for changes. You'll receive an email notification when it detects any change in the content of the page. Use the service for competition monitoring, price checks, ticket availability tracking and more using the server service and email alerts (62 checks/month free) or browser tab (free as your computer does the job)
Da steht dass URLDownloadToFile mit IE funktionieren muss wenn der Haken bei "Angemeldet bleiben" drin ist, da Cookies verwendet werden. Funktioniert bei mir aber nicht, habe es mit jedem Browser probiert

Visualping macht glaube ich auch nix anderes wie "Distill" welches ich bereits nutze. Das tut aber nur die Seite monitoren und benachrichtigt mich wenn es eine Änderung gibt. Das kann leider keine Aktionen ausführen

mit cURL soll es irgendwie machbar sein, konnte jedoch kein Beispielcode oder ähnliches finden was meiner Situation entspricht. Hat da jemand Erfahrung damit?
gregster wrote:
Larissa90 wrote:
05 Oct 2020, 10:39
Ich nutze Chrome und habe mir die Chrome.ahk mal angeschaut. Ist leider zu kompliziert für mich, und ausserdem funktioniert das nur wenn Chrome sich im Debug-Modus befindet. Ich weiss nicht ob ich damit klarkomme und ob das so überhaupt funktioniert.
Ja, ist es etwas kompliziert, aber deine Problemstellung ist auch nicht gerade trivial.
Debug-Modus in Chrome ist normalerweise kein Problem - den bemerkt man im normalen Gebrauch gar nicht. Aber ja, der Browser muss in diesem Modus gestartet werden, um Chrome.ahk nutzen zu können (dafür kann man bspw. eine entsprechende Verknüpfung anlegen, oder AutoHotkey den Start des Browsers überlassen).

Ohne spezifischere Details zur Seite werden Vorschläge wahrscheinlich auch eher unspezifisch bleiben (müssen).
Welche Details wären denn relevant? Den Seitennamen darf ich hier leider nicht nennen :(


Mir ist noch eingefallen dass man die Seite mit STRG+S lokal speichern könnte. So würde man doch auch an den Quellcode rankommen oder? Könnte man damit evtl. arbeiten??
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Website auf Neuen Text suchen und Button betätigen

Post by BoBo » 06 Oct 2020, 12:01

Mir ist noch eingefallen dass man die Seite mit STRG+S lokal speichern könnte. So würde man doch auch an den Quellcode rankommen oder? Könnte man damit evtl. arbeiten??
URLDownoadToFile wäre ja auch nichts anderes. Wenn sich damit die Änderungen belegen/ermitteln ließen, go 4 it.
Was ich nicht verstehe, wenn die Browser Extensions funktionieren, warum nicht mit AHK auf deren notifications monitoren (mit anschließend weiterer Aktion), sofern diese einfacher zu fassen wären?? :think:
Larissa90
Posts: 6
Joined: 04 Oct 2020, 14:19

Re: Website auf Neuen Text suchen und Button betätigen

Post by Larissa90 » 06 Oct 2020, 13:19

Hier wäre mal ein Abschnitt aus der Seite mit den erwähnten Links, 3 Stück in dem Fall:

Code: Select all

        <div class="vvp-item-tile" data-recommendation-id="XXX#B08HHLJNWYY#72414481" data-img-url="https://m.testseite.com/images/I/41VRRURqPlL._1233_.jpg">
                <div class="vvp-item-tile-content">
                  <img alt="" src="./x_files/41VRRURqPlL._1123_.jpg"><div class="vvp-item-product-title-container">
                    <a class="a-link-normal" target="_blank" rel="noopener" href="https://www.testseite.de/dp/B08HHLJNWYY"><span class="a-truncate" data-a-word-break="normal" data-a-max-rows="2" data-a-overflow-marker="&amp;hellip;" style="line-height: 1.3em !important; max-height: 2.6em;" data-a-recalculate="false" data-a-updated="true"><span class="a-truncate-full a-offscreen">Erster Link blabla</span><span class="a-truncate-cut" aria-hidden="true" style="height: 2.6em;">Erster Link…</span></span></a></div>
                    <span class="a-button a-button-primary vvp-details-btn" id="a-autoid-1"><span class="a-button-inner"><input data-asin="B08HHLJNWYY" data-is-parent-asin="false" data-recommendation-id="XXX#B08HHLJNWYY#72414481" data-recommendation-type="XXX_FOR_ALL" class="a-button-input" type="submit" aria-labelledby="a-autoid-1-announce"><span class="a-button-text" aria-hidden="true" id="a-autoid-1-announce">Ansehen</span></span></span></div>
              </div>
            <div class="vvp-item-tile" data-recommendation-id="XXX#C08YUB7GOG#311847" data-img-url="https://m.testseite.com/images/I/41AZ0kaQaRL._1123_.jpg">  
                <div class="vvp-item-tile-content">
                  <img alt="" src="./x_files/41AZ0kaQaRL._1123_.jpg"><div class="vvp-item-product-title-container">
                    <a class="a-link-normal" target="_blank" rel="noopener" href="https://www.testseite.de/dp/C08YUB7GOG"><span class="a-truncate" data-a-word-break="normal" data-a-max-rows="2" data-a-overflow-marker="&amp;hellip;" style="line-height: 1.3em !important; max-height: 2.6em;" data-a-recalculate="false" data-a-updated="true"><span class="a-truncate-full a-offscreen">Zweiter Link blabla</span><span class="a-truncate-cut" aria-hidden="true" style="height: auto;">Zweiter Link...</span></span></a></div>
                    <span class="a-button a-button-primary vvp-details-btn" id="a-autoid-2"><span class="a-button-inner"><input data-asin="C08YUB7GOG" data-is-parent-asin="false" data-recommendation-id="XXX#C08YUB7GOG#311847" data-recommendation-type="XXX_FOR_ALL" class="a-button-input" type="submit" aria-labelledby="a-autoid-2-announce"><span class="a-button-text" aria-hidden="true" id="a-autoid-2-announce">Ansehen</span></span></span></div>
              </div>
            <div class="vvp-item-tile" data-recommendation-id="XXX#A06YSQCWS8#311850" data-img-url="https://m.testseite.com/images/I/41YdUj13M3L._1123_.jpg">
                <div class="vvp-item-tile-content">
                  <img alt="" src="./x_files/41YdUj13M3L._1123_.jpg"><div class="vvp-item-product-title-container">
                    <a class="a-link-normal" target="_blank" rel="noopener" href="https://www.testseite.de/dp/A06YSQCWS8"><span class="a-truncate" data-a-word-break="normal" data-a-max-rows="2" data-a-overflow-marker="&amp;hellip;" style="line-height: 1.3em !important; max-height: 2.6em;" data-a-recalculate="false" data-a-updated="true"><span class="a-truncate-full a-offscreen">Dritter Link blabla</span><span class="a-truncate-cut" aria-hidden="true" style="height: auto;">Dritter Link ...</span></span></a></div>
                    <span class="a-button a-button-primary vvp-details-btn" id="a-autoid-3"><span class="a-button-inner"><input data-asin="A06YSQCWS8" data-is-parent-asin="false" data-recommendation-id="XXX#A06YSQCWS8#311850" data-recommendation-type="XXX_FOR_ALL" class="a-button-input" type="submit" aria-labelledby="a-autoid-3-announce"><span class="a-button-text" aria-hidden="true" id="a-autoid-3-announce">Ansehen</span></span></span></div>
              </div>
Hier könnten nun jederzeit neue Links dazukommen. Wie finde ich raus welcher davon neu ist und vor allem, wie betätige ich den Ansehen button? Es gibt ja keine URL für diesen Button. Ich muss es irgendwie anhand der ID aufrufen

Warum übrigens die "://" nach dem https in dem Codesegment verschwinden beim Posten, weiss ich nicht.
Last edited by BoBo on 06 Oct 2020, 14:14, edited 1 time in total.
Reason: Die Links gefixt.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Website auf Neuen Text suchen und Button betätigen

Post by BoBo » 06 Oct 2020, 14:24

Hier könnten nun jederzeit neue Links dazukommen. Wie finde ich raus welcher davon neu ist und vor allem
Denke mal so wie du es selbst machen würdest, Vorher <> Nachher-Vergleich. 'autoID-n' wäre z.B. ein Kandidat.
wie betätige ich den Ansehen button? Es gibt ja keine URL für diesen Button. Ich muss es irgendwie anhand der ID aufrufen
Wird wohl sowas wie COM werden ...
Warum übrigens die "://" nach dem https in dem Codesegment verschwinden beim Posten, weiss ich nicht.
Ist ein Forum-Filter der 'pöse Links' zerhackt, und Moderatoren das anschließende "find&puzzle" als Lebenszeitvernichter überlässt.
effel
Posts: 542
Joined: 16 Jan 2018, 13:34

Re: Website auf Neuen Text suchen und Button betätigen

Post by effel » 08 Oct 2020, 08:25

wenn du nur auf den Button "Ansehen" klicken möchtest, was ist denn dein Begehren? Möchtest du nur z.B dieses Bild <img alt="" src="./x_files/41VRRURqPlL._1123_.jpg"> herunterladen? oder evt. nur ansehen?
Larissa90
Posts: 6
Joined: 04 Oct 2020, 14:19

Re: Website auf Neuen Text suchen und Button betätigen

Post by Larissa90 » 09 Oct 2020, 14:33

effel wrote:
08 Oct 2020, 08:25
wenn du nur auf den Button "Ansehen" klicken möchtest, was ist denn dein Begehren? Möchtest du nur z.B dieses Bild <img alt="" src="./x_files/41VRRURqPlL._1123_.jpg"> herunterladen? oder evt. nur ansehen?
Wenn man den Button anklickt, geht ein kleines Popupfenster auf. Möchte eigentlich nur das. In diesem neuen Fenster muss dann nochmal ein Button gedrückt werden aber das krieg ich dann auch selber hin.
Larissa90
Posts: 6
Joined: 04 Oct 2020, 14:19

Re: Website auf Neuen Text suchen und Button betätigen

Post by Larissa90 » 13 Oct 2020, 13:24

Kann mir denn niemand helfen? Irgendein Codeschnipsel an dem ich rumbasteln kann?
Post Reply

Return to “Ich brauche Hilfe”