Javascript в AppleScript «не может превратить скрипт в спецификатор типа» (для нажатия кнопки в Chrome) - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь заставить скрипт Apple нажимать на кнопку-переключатель. Я очень новичок в этом. Я получаю эту ошибку: ошибка «В Google Chrome произошла ошибка: невозможно преобразовать код активной вкладки с идентификатором вкладки 1.521810707E + 9 окна с идентификатором 1.52181061E + 9 в спецификатор типа». число -1700 из кода активной вкладки идентификатора вкладки 1.521810707E + 9 идентификатора окна 1.52181061E + 9 к спецификатору

код:

to clickID(theID)

tell application "Google Chrome"
    tell window 1 to tell (make new tab)
        set its URL to "https://www.colonialfirststate.com.au/FirstNet/FNA/Controls/AdviserHosting.aspx?Page=BusinessReporting"
        delay 5
        set theScript to "document.getElementById('" & theID & "')'.click();"
        execute javascript theScript in active tab
    end tell
end tell

end clickID clickID ( "optFormatCSV")

Вот скриншот кнопки и копия из проверки элемента:

The Screenshot

InspectElement

InspectElement

Пожалуйста, помогите :(

1 Ответ

0 голосов
/ 30 октября 2018

Пара ошибок в вашем скрипте:

tell application "Google Chrome"
    tell window 1 to tell (make new tab)
        set its URL to "https://www.colonialfirststate.com.au/FirstNet/FNA/Controls/AdviserHosting.aspx?Page=BusinessReporting"
        delay 5
        set theScript to "document.getElementById('" & theID & "')'.click();"
        execute javascript theScript in active tab
    end tell
end tell

Перед ".click()" у вас неверная цитата, что делает JavaScript недействительным; и вы нацелены на active tab внутри блока tell (make new tab). Это последнее, что выдает вашу ошибку:

Can’t make theScript of active tab of tab id ... of window id ...

Нет такого объекта, как active tab, принадлежащего tab id ... (вкладка, которую вы только что создали) window 1.

Просто удалите ссылку на active tab и ваш код должен работать. Вот как должен выглядеть ваш исправленный обработчик:

tell application "Google Chrome"
    tell window 1 to tell (make new tab)
        set its URL to "https://www.colonialfirststate.com.au/FirstNet/FNA/Controls/AdviserHosting.aspx?Page=BusinessReporting"
        delay 5
        set theScript to "document.getElementById('" & theID & "').click();"
        execute javascript theScript
    end tell
end tell

Информация о системе: Версия AppleScript: 2.7 Версия системы: 10.13.6 Версия Chrome: 69

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