Получение значений из внутренних функций текущей веб-страницы в Chrome через (JXA / AppleScript) - PullRequest
0 голосов
/ 02 мая 2019

Я не могу получить значения из внутренних функций текущей веб-страницы в Chrome.Почему это произошло?

для примеров в JXA:

function getTime() {
    const chrome = Application('Google Chrome')
    const currentTab = chrome.windows[0].activeTab()
    return currentTab.execute({javascript: 'jwplayer().getPosition()'})
}
getTime()

Chrome возвращает ошибку ссылки:

 Uncaught ReferenceError: jwplayer is not defined

в AppleScript тоже самое:

tell application "Google Chrome"
    return execute front window's active tab javascript "jwplayer().getPosition()"
end tell

Установки в Chrome проверены: «Разрешить Javascript от Apple Events»

1 Ответ

0 голосов
/ 04 мая 2019

Найден обходной путь с AppleScript:

tell front window of application "Google Chrome"
    set URL of active tab to "javascript:
    sessionStorage.setItem('scrapy', JSON.stringify({
      currentTime: jwplayer().getPosition()
    }, 2, '  ')
  "
    return {execute active tab javascript "sessionStorage.getItem('scrapy')"}
end tell
...