Как симулировать щелчок мыши через терминал Mac? - PullRequest
9 голосов
/ 20 ноября 2010

Есть ли способ сделать это без каких-либо программ или сценариев?(Может через osascript?)

Ответы [ 2 ]

33 голосов
/ 01 ноября 2014

Вы можете автоматизировать щелчок мыши с помощью 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 предоставил более подробный пример кода, здесь и Джон Дориан предоставил отличное решение, написанное на Java, здесь

1 голос
/ 07 апреля 2011

Эй. У меня был тот же вопрос, и я не уверен, что это то, что вы ищете, но он позволит вам переместить мышь к определенной координате на экране и выполнить щелчок. Хотя вам нужна информация, а я нет, поэтому я не смог ее использовать, но я дам вам любую помощь, которая вам может понадобиться. Ссылка: http://hints.macworld.com/article.php?story=2008051406323031

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...