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. Kai0001

Beiträge von Kai0001

  • In einem Loop die Mausposition verändern

    • Kai0001
    • 17. Juli 2016 um 00:17

    Wollte die 2. Datei herunterladen, wurde dann von meinem Antivir detected. Habe es dann lieber gelassen.
    Habe es jetzt mit IE gemacht. Da wird jede Seite mit einem extra Fenster geöffnet und dann funktioniert auch das switchen.
    Nur habe ich jetzt noch das Problem, wenn ich eine Seite aufrufe, in der einen Link ein gebe und der aufgerufen werden soll, lädt die Seite manchmal ewig oder es kommt ein Fehler, dass die Seite nicht geladen werden kann.
    Ich brauch jetzt die Möglichkeit, dass das Script so lange stopt, bis der aufgerufene Link vollständig geladen hat, oder wenn es fehlschlägt, es erneut versucht wird.

    Hatte es bereits mit _IELoadWait($oIE) versucht. Jedoch funktioniert das ja nur, wenn man die Seite direkt durch einen Befehl aufgerufen hat und nicht durch eine andere Seite, wenn ich das richtig verstanden habe.
    Wäre mein einzigstes Problem jetzt noch...

  • In einem Loop die Mausposition verändern

    • Kai0001
    • 15. Juli 2016 um 22:45

    Hier ist der Screenshot von meinem Chrome und den Seiten die ich öffne und dann wechseln will + die Openoffice Tabelle.

    http://www.bilder-upload.eu/show.php?file=…-1468615619.png

  • In einem Loop die Mausposition verändern

    • Kai0001
    • 15. Juli 2016 um 12:46

    Hallo, es schließlich jetzt auch so hin bekommen. Nur funktioniert folgender Befehl nicht:


    AutoIt
    ShellExecute("E:\Accounts\Mails.ods")
    ShellExecute("chrome.exe","http://xxx/de/")
    ShellExecute("chrome.exe","http://homepage.net/name_generator/")
    sleep(5000)
    Opt("WinTitleMatchMode", 2)
    WinActivate("Mails.ods - OpenOffice Calc") ; wechselt zu Tabelle
    sleep(2000)
    Opt("WinTitleMatchMode", 2)
    WinActivate("Fake Name Generator | HomePage Media - Google Chrome")
    sleep(2000)
    Opt("WinTitleMatchMode", 2)
    WinActivate("Mails.ods - OpenOffice Calc")
    sleep(2000)
    Opt("WinTitleMatchMode", 2)
    WinActivate("Fake Name Generator | HomePage Media - Google Chrome")
    sleep(2000)
    Opt("WinTitleMatchMode", 2)
    WinActivate("xxx - Google Chrome")
    Alles anzeigen

    Wenn ich jetzt dieses Script laufen lasse, dann funktioniert alles, bis auf das letzte Wechseln auf die letzte Seite. Wieso? Es bleibt dann einfach wieder bei der Fake Name Seite hängen, anstatt noch auf die XXX Seite zu switchen. Kann mir das einer erklären? Ist jetzt nur ein Beispiel. In meinem Programm habe ich das selbe Problem ,dass es dann einfach nicht mehr auf den anderen Tab switcht.
    Gibt es vielleicht eine andere Möglichkeit, zu gewährleisten, dass es z.B. von dem OpenOffice zu einer bestimmten davor geöffneten Chrome Seite springt (in den Vordergrund rückt).

  • In einem Loop die Mausposition verändern

    • Kai0001
    • 3. Juli 2016 um 02:48

    Hallo, klappt leider bisher noch nicht so wie ich es haben will.

    Hir mal das Programm wie ich es bisher geschrieben habe: (bestimmte Daten und Seiten wurden zensiert und ja ich weiß es ist amateurhaft, da ich aber erstz vor Kurzem angefangen habe:


    AutoIt
    #include <MsgBoxConstants.au3>
    
    
    ; Pause und ESC-Key
    
    
    Global $g_bPaused = False
    
    
    HotKeySet("{PAUSE}", "HotKeyPressed")
    HotKeySet("{ESC}", "HotKeyPressed")
    HotKeySet("+!d", "HotKeyPressed") ; Shift-Alt-d
    
    
    ; Programm:
    
    
    
    
    
    
    ShellExecute("E:\xxx.ods")
    ShellExecute("chrome.exe", "http:/xxx/de/")
    Sleep(7000) ; 7 Sekunden wegen Ordner öffnen
    
    
    For $i = 1 To 20
    	$m = MouseGetPos() ; $m[0] = 0; $m[1] = 0
    	MouseMove($m[0], $m[1] + 15)
    
    
    	Opt("WinTitleMatchMode", 2)
    	WinActivate("xxx.ods - OpenOffice Calc") ; wechselt zu Excel Tabelle
    
    
    
    
    
    
    	MouseClick("left", 100, 185, 3) ;Dieser befehl bewegt die maus zu 100, 185 und drückt dann die linke ("left") maustaste 3x
    	Send("^c") ; kopiert Text
    	Send("^v") ; fügt Text ein
    
    
    
    
    	Opt("WinTitleMatchMode", 2)
    	WinActivate("xxx - Google Chrome")
    
    
    
    
    	MouseClick("left", 1450, 105, 1) ; klickt auf "Account" bei B.net
    	MouseClick("left", 1400, 155, 1) ; klickt auf "einloggen"
    
    
    	Sleep(1000) ; wartet 1 Sekunde wegen Ladezeit
    
    
    	#include <AutoItConstants.au3>
    
    
    
    
    	MouseClickDrag($MOUSE_CLICK_LEFT, 785, 230, 1100, 230) ; hält Maustaste gedrückt und zieht rüber
    
    
    	Send("^v") ; fügt Text ein
    
    
    	MouseClick("left", 790, 280, 1) ; klickt mit der Maus
    
    
    	Send("xxx")
    
    
    	MouseClick("left", 950, 345, 1)
    
    
    	Sleep(3000) ; wartet 3 Sekunde wegen Ladezeit
    
    
    	MouseClick("left", 1450, 105, 1) ; klickt mit der Maus auf den Namen
    
    
    	MouseClick("left", 1400, 225, 1)
    
    
    	Sleep(2000) ; wartet 2 Sekunden wegen Ladezeit
    
    
    	#include <AutoItConstants.au3>
    
    
    	MouseWheel($MOUSE_WHEEL_DOWN, 4) ; scrollt mit dem Mausrad 4x runter
    
    
    	Sleep(1000) ; Wartezeit
    
    
    	Send("{PRINTSCREEN}") ; Screenshot erstellen
    
    
    	ShellExecute("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint") ; Paint öffnen
    
    
    	Sleep(1000) ; Wartezeit
    
    
    	Send("^v") ; Bild in Paint einfügen
    
    
    	MouseClick("left", 40, 40, 1) ; Mausklick Menü in Paint öffnen
    
    
    	MouseClick("left", 45, 200, 1) ; Mausklick "Speichern unter"
    
    
    	MouseClick("left", 350, 450, 1) ; Mausklick für Fixierung
    
    
    	MouseWheel($MOUSE_WHEEL_UP, 4) ; Mausklick für Fixierung
    
    
    	MouseClick("left", 380, 690, 2) ; Doppelklick "Computer"
    
    
    	MouseClick("left", 850, 450, 2) ; Doppelklick Volume (E:)
    
    
    	MouseClick("left", 550, 545, 2) ; Doppelklick "AScreenshots"
    
    
    	MouseClick("left", 550, 739, 1) ; Textfeld klicken
    
    
    	Send("xxx") ; Dateiname
    
    
    	MouseClick("left", 1120, 810, 1) ; Screenshot abspeichern
    
    
    	MouseClick("left", 1880, 10, 1) ; Paint schließen
    
    
    	Opt("WinTitleMatchMode", 2)
    	WinActivate("xxx - Google Chrome") ; wechselt Fenster
    
    
    	MouseClick("left", 1800, 450, 1) ; Fixierung der Seite
    
    
    	MouseWheel($MOUSE_WHEEL_UP, 4) ; scrollt mit dem Mausrad 4x rauf
    
    
    	MouseClick("left", 1500, 120, 1) ; Klick
    
    
    	MouseClick("left", 1450, 250, 1) ; loggt aus
    
    
    	Opt("WinTitleMatchMode", 2)
    	WinActivate("xxx.ods - OpenOffice Calc") ; wechselt zu Excel Tabelle
    
    
    	MouseClick("left", 1000, 300, 1) ; Klick zum anheften
    
    
    
    
    
    
    	If $m[1] > 950 Then
    		MouseWheel("down", 16) ; die 16 zu dem ändern wie weit du scrollen möchtest
    	EndIf
    Next
    
    
    
    
    
    
    While 1
    	Sleep(100)
    WEnd
    
    
    Func HotKeyPressed()
    	Switch @HotKeyPressed ; The last hotkey pressed.
    		Case "{PAUSE}" ; String is the {PAUSE} hotkey.
    			$g_bPaused = Not $g_bPaused
    			While $g_bPaused
    				Sleep(100)
    				ToolTip('Script is "Paused"', 0, 0)
    			WEnd
    			ToolTip("")
    
    
    		Case "{ESC}" ; String is the {ESC} hotkey.
    			Exit
    
    
    		Case "+!d" ; String is the Shift-Alt-d hotkey.
    			MsgBox($MB_SYSTEMMODAL, "", "This is a message.")
    
    
    	EndSwitch
    EndFunc   ;==>HotKeyPressed
    Alles anzeigen


    Die Kommentare zu der jeweiligen Funktion können ignoriert werden, da ich die meisten nur für mich geschrieben habe, dass ich weiß welche Funktion was bewirkt.
    Kurz gesagt will ich folgendes mit dem Programm erreichen:

    Es soll Excel und die Internetseite öffnen die ich angegeben habe, soll von der Exceltabelle die Informationen herauskopieren, die Info auf der Internetseite eingeben, einen Screenshot machen, ihn abspeichern. Danach die nächste Info aus der Exceltabelle herauskopieren wieder in die Internetseite einfügen, neuen Screenshot unter anderem namen abspeichern.

    Wie bereits geschrieben, sind die Infos in der Exceltabelle jeweils untereinander. Den abgespeicherten Namen soll es auch jeweils in dem Loot mit der nächsten Zahl abspeichern, was ich bisher leider nciht hin bekommen habe.

    Viele Grüße und ein schönes Wochenende!


    Edit Oscar: AutoIt-Code-Tags hinzugefügt!

  • In einem Loop die Mausposition verändern

    • Kai0001
    • 1. Juli 2016 um 19:05

    Hey, danke für die tollen Tipps. Da ich erst vor Kurzem damit angefangen habe, werde ich den Tipp von MorsGer befolgen und dann mal testen.

    Wenn ich mehr Zeit habe, werde ich mich dann mal für die nächsten Projekte in ExcelUDF reinlesen. ;)

    Viele Grüße

  • In einem Loop die Mausposition verändern

    • Kai0001
    • 1. Juli 2016 um 18:01

    Hallo, bin neu hier und habe mich mal bisschen durch das Forum gelesen. Da es hier tolle Tipps gibt, dachte ich mir, dass vielleicht auch bei meinem Problem geholfen werden könnte. Ich wollte folgendes fragen:

    Ich habe ein Programm, in das ich einen Loop einbauen möchte, in welchem ich in einer Excel Tabelle Begriffe herauskopiere. Dafür möchte ich bei jedem neuen Klick in dem Loop, dass die Maustaste sich in der Y-Achse um 15 Punkte nach unten bewegt.
    Kann mir vielleicht einer sagen wie so etwas geht?

    Wenn ich das hätte, wäre die 2. Frage:

    Wenn die Maus dann bei Position 905 in der Y-Achse angekommen ist. soll die Maus runter scrollen, sodass ich die nächste Seite der Excel Tabelle bearbeiten kann.

    Viele Grüße und schonmal danke für die Tipps!

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™