Gibt es eine Möglichkeit, dies ohne irgendwelche Programme oder Skripte zu tun? (Vielleicht durch osascript?)Wie simuliere ich einen Mausklick durch das Mac-Terminal?
Antwort
Hey. Ich hatte die gleiche Frage, und ich bin mir nicht sicher, ob das das ist, wonach Sie suchen, aber es wird Ihnen erlauben, die Maus zu einer gegebenen Koordinate auf dem Bildschirm zu bewegen und einen Klick auszuführen. Du brauchst jedoch Intel, was ich nicht kann, also konnte ich es nicht benutzen, aber ich werde dir jede Hilfe geben, die du vielleicht brauchst. Link: http://hints.macworld.com/article.php?story=2008051406323031
Sie können einen Mausklick mit Applescript automatisieren.
tell application "System Events"
tell application process "Application_Name"
key code 53
delay 1
click (click at {1800, 1200})
end tell
end tell
Wenn Sie in einem Browser-Fenster klicken möchten, können Sie Applescript mit Hilfe von Javascript verwenden
tell application "safari"
activate
do JavaScript "document.getElementById('element').click();"
end tell
Rein über das Terminal, können Sie eine Textdatei mit dem Namen erstellen click.m
oder welchen Namen auch immer Sie mögen, speichern Sie es mit dem folgenden Code
// File:
// click.m
//
// Compile with:
// gcc -o click click.m -framework ApplicationServices -framework Foundation
//
// Usage:
// ./click -x pixels -y pixels
// At the given coordinates it will click and release.
//
// From http://hints.macworld.com/article.php?story=2008051406323031
#import <Foundation/Foundation.h>
#import <ApplicationServices/ApplicationServices.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSUserDefaults *args = [NSUserDefaults standardUserDefaults];
int x = [args integerForKey:@"x"];
int y = [args integerForKey:@"y"];
CGPoint pt;
pt.x = x;
pt.y = y;
CGPostMouseEvent(pt, 1, 1, 1);
CGPostMouseEvent(pt, 1, 1, 0);
[pool release];
return 0;
}
kompilieren es dann, wie angewiesen:
gcc -o click click.m -framework ApplicationServices -framework Foundation
und sie an den entsprechenden Systemordner für die Bequemlichkeit
sudo mv click /usr/bin
sudo chmod +x /usr/bin/click
und jetzt können Sie einen einfachen Terminal-Befehl zu manipulieren, um die Maus
click -x [coord] -y [coord]
bewegen laufen
Hinweis: ein mehr Ein ausführliches Code-Beispiel wurde von Jardel Weyrich, here zur Verfügung gestellt und John Dorian stellte eine großartige Lösung in Java geschrieben, here
+1 Ausgezeichnete Antwort! Gute Arbeit. –
Bist du ein Zauberer? – paulwal222