一千萬個為什麽

搜索

如何通過mac終端模擬鼠標點擊?

沒有任何程序或腳本,有沒有辦法做到這一點? (也許通過osascript?)

最佳答案

您可以使用Applescript自動鼠標單擊。

tell application "System Events"
    tell application process "Application_Name"
        key code 53
        delay 1
        click (click at {1800, 1200})
    end tell
end tell

如果要在瀏覽器窗口中單擊,可以在Javascript的幫助下使用Applescript

tell application "safari"
    activate
    do JavaScript "document.getElementById('element').click();"
end tell

純粹通過終端,您可以創建一個名為 click.m 的文本文件或任何您喜歡的名稱,使用以下代碼保存

// 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 
#import 

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;
}

然後按照說明編譯它:

gcc -o click click.m -framework ApplicationServices -framework Foundation

並將其移動到相應的系統文件夾以方便使用

sudo mv click /usr/bin
sudo chmod +x /usr/bin/click

現在你可以運行一個簡單的終端命令來操縱鼠標

click -x [coord] -y [coord]

註意:Jardel Weyrich提供了一個更全面的代碼示例,此處,John Dorian提供了一個很好的解決方案在Java中,此處

轉載註明原文: 如何通過mac終端模擬鼠標點擊?