Wie Browser-Scrolllbar steuern?

  • Ich versuche, mit folgendem Code die vertikale Scrollbar eines Browser-Fensters mittig zu positionieren (Position 100 von 200):

    Doch der letze Befehl bringt Chrome zum halben Absturz (Browser läuft noch, aber das gesamte Browserbild wird schwarz), während bei Firefox nichts zu geschehen scheint (Scrollbalken bleibt auf "Start"-Position 0 ganz oben).

    Ich denke, das zurückgegebene Handle sollte richtig sein. Denn als Gegenprobe habe ich mal einen anderen Tab geöffnet und dann wird das Handle 0x00000000 zurückgegeben.

    Warum kann ich mit meinem Code den vertikalen Scrollbalken eines Chrome- bzw. Firefox-Browsers nicht setzen und was muss ich an meinem Code ändern, um es zu können?

    Einmal editiert, zuletzt von A55 (25. Januar 2019 um 23:46)

  • :rofl: Kreativ, geb ich zu.

    _GUIScrollBars_Init erzeugt eine scrollbare GUI, du würdest - wenn das überhaupt klappt - einfach am Control vorbeiscrollen.

    Wenn du scrollen möchtest musst du eine Window Message an das Fenster schicken mit den Informationen, dass dort hingescrollt werden soll.

    Mal so am Rande: Warum willst du die Seite denn scrollen? Sind da Infos die du brauchst?

    Vielleicht können wir dir ja besser helfen wenn du uns verrätst was du wo machen möchtest.

  • :rofl: Kreativ, geb ich zu.

    _GUIScrollBars_Init erzeugt eine scrollbare GUI, du würdest - wenn das überhaupt klappt - einfach am Control vorbeiscrollen.

    Wenn du scrollen möchtest musst du eine Window Message an das Fenster schicken mit den Informationen, dass dort hingescrollt werden soll.

    Mal so am Rande: Warum willst du die Seite denn scrollen? Sind da Infos die du brauchst?

    Vielleicht können wir dir ja besser helfen wenn du uns verrätst was du wo machen möchtest.

    Mein Ziel ist es, Eingabefelder eines Webformulars automatisch auszufüllen. Bisher verwende ich dazu nur MouseClick und Send. (Wenn ich das richtig verstanden habe, soll das ganze mit ControlClick ja präziser gehen und man kann damit wohl auch nicht sichtbare Elemente ansteuern, aber das ganze ist auch aufwendiger, weshalb ich vorerst bei MouseClick bleiben möchte).

    Mit MouseClick kann ich nur auf sichtbare Steuerelemente klicken. Deshalb muss ich nach unten scrollen, um die entsprechende Felder anklicken und mit Send etwas hineinschreiben zu können. Als Alternative könnte ich mit Send("{DOWN}") nach unten scrollen, aber ich wüßte trotzdem gerne, wie ich die Scrollbar von AutoIt aus direkt auf einen bestimmten Wert setzen kann.

  • Auf shir tee . com. Aber das ganze nur mit Mausklicks und Send zu steuern könnte evtl. doch ziemlich aufwendig werden.

    Um Produktfarben auszuwählen, muss man dort z.B. auf einen Button klicken, wodurch dann ein Feld aufgeht, in dem man bis zu 14 Farben auswählen kann, wobei das Auswahlfeld aber umso kleiner wird je mehr Farben man ausgewählt hat, da diese Farbe dann aus dem Auswahlfeld verschwindet und in ein Feld der ausgewählten Farben übernommen wird. D.h. die Maus-Position, auf die man im Auswahfeld klicken muss, ändert sich ständig und hängt auch von der Reihenfolge ab, in der ich auf Farben klicke.

    Das ganze wird evtl. über JavaScript gesteuert und Auswahlfelder werden evtl. erst erstellt, nachdem man ein anderes Auswahlfeld angeklickt hat. Und es gibt auch verschiedene Fenster, die verschiedenartig aufgebaut sind, in denen man Produktfarben auswählen kann. Und dann müssen noch Felder für die Produktbeschreibung ausgefüllt werden. Und es sollen noch automatisch Dateien aus einem bestimmten Verzeichnis hochgeladen werden. Also im Prinzip soll folgendes durch AutoIt automatisiert werden:

    Lese eine Excel-Datei vollständig ein, die Dateinamen, Beschreibung etc. des Designs enthält (wie ich eine Excel-Datei einlesen kann, weiß ich schon, da brauche ich keine Hilfe mehr).

    1. Uploade erste bzw. nächste PNG-Datei mit dem Dateinamen aus der Excel-Datei (dabei kann man die Datei entweder per Drag & Drop in den Browser ziehen oder sie auf klassischem Weg öffnen (der Explorer öffnet sich und man wählt die Datei aus.)

    2. Lege unterschiedliche Produkte (T-Shirt, Poster, Tasse etc. (das Produkt muss man jeweils aus einer Dropdown-Box auswählen)) mit jeweils mehreren Farben an und übernehme Titel und Beschreibung aus der Exceldatei (das erstreckt sich evtl. über mehrere unterschiedlich aufgebaute Webseiten, d.h. evtl. muss man erst alle Produkte anlegen, auf Next klicken und kann dann erst die Farben anlegen).

    3. Lege Preise für die unterschiedlichen Produkte fest (z.Zt. habe ich noch keine Produktpreise in der Exceltabelle stehen, d.h. z.Zt. sollte AutoIt an dieser Stelle unterbrechen, so dass ich manuell die Produktpreise in die Felder des Webformulars eintragen kann, danach sollte AutoIt dann fortgesetzt werden.

    4. Sind alle Dateien, deren Namen in der Exceltabelle stehen, geuploadet?

    Nein: gehe zu 1.

    Ja: Ende

    17 Mal editiert, zuletzt von A55 (26. Januar 2019 um 02:03)