2010-11-20 92 views

回答

1

嘿。 我有這個相同的問題,我不確定這是你想要的,但它可以讓你將鼠標移動到屏幕上給定的座標並執行一次點擊。你需要英特爾,但我沒有,所以我無法使用它,但我會給你任何你可能需要的幫助。鏈接:http://hints.macworld.com/article.php?story=2008051406323031

23

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

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

如果你想在瀏覽器窗口中單擊您可以使用AppleScript的使用Javascript

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

然後編譯按指示:

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提供,here和John Dorian提供了用Java編寫的很好的解決方案,here

+2

+1優秀的答案!工作很好。 – 2014-11-01 08:21:43

+0

你是一個巫師嗎? – paulwal222 2015-06-14 17:04:59