Ошибка Java, имитирующая OSX, нажмите COMMAND, не работающую с помощью awt.Robot - PullRequest
0 голосов
/ 24 февраля 2019

Я использую awt.Robot для имитации доступа к сайту.Некоторое время (предположительно, новый Mojave) это больше не работает, и я получаю следующую ошибку

2019-02-24 00:15:51.673 java[58705:1085878] pid(58705)/euid(501) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!

Я немного исследовал и нашел кое-что о Main Thread Checker в OSX ..... но нет решения, как его отключить.

Кто-нибудь знает, как фу ... Я могу вернуть это к работе?

Мой код основан на this ответ:

try {
    Robot r = new Robot();

    for (Integer key : Arrays.asList(
                KeyEvent.VK_SHIFT,
                KeyEvent.VK_META,
                KeyEvent.VK_G
        )) {

        Integer keyTranslated = KeyStroke.getKeyStroke(key, MASK).getKeyCode();
        r.keyPress(keyTranslated);

        r.delay(300);
    }

} catch (AWTException e) {
    e.printStackTrace();
}
...