почему не выполняется вызов javascript в Applescript, если тот же код, введенный в браузер, выполняется? - PullRequest
6 голосов
/ 03 июля 2011

Я пытаюсь выяснить, почему мой Applescript ничего не делает, когда работает тот же код JavaScript, который введен в адресную строку Safari.

Перейти на страницу результатов поиска, например: http://www.google.com/search?q=test,Для правильного поведения введите это в адресную строку и нажмите ввод:

javascript: document.getElementsByClassName('vspib')[0].click();

Вы увидите, что он выбирает увеличитель для первого результата поиска.

Это то, что я хочучтобы сделать это с помощью JavaScript.Поэтому я набрал следующее:

tell application "Safari"
    activate
    do JavaScript "document.getElementsByClassName('vspib')[0].click();" in document 1
end tell

Однако это ничего не дает.Есть идеи?

1 Ответ

16 голосов
/ 03 июля 2011

Проблема в том, что do JavaScript должен правильно обращаться к вкладке в окне Safari.

У меня работает следующий скрипт, если страница результатов поиска является текущей вкладкой в ​​самом верхнем окне Safari:

tell application "Safari"
    activate
    set theScript to "document.getElementsByClassName('vspib')[0].click();"
    do JavaScript theScript in current tab of first window
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...