синтаксическая ошибка osascript «Ожидаемое выражение, но найден конец строки. (-2741)»

#bash #syntax-error #applescript #osascript

#bash #синтаксическая ошибка #applescript #osascript

Вопрос:

Я пишу скрипт bash, который использует AppleScript, который отключает микрофон и камеру, а затем нажимает кнопку «Присоединиться сейчас» на веб-странице Google meet. Часть, которая отключает микрофон и камеру, работает отлично, но я сталкиваюсь с проблемами с той частью скрипта, которая предназначена для нажатия кнопки присоединиться. Вот сценарий:

 #!/bin/bash

osascript <<EOF

tell application "System Events"

    delay 4

    key code 14 using command down 
    delay 1 

    key code 2 using command down
    delay 1 

end tell

EOF

#the following is not working- 

osascript <<EOF

tell application "brave" 
  tell active tab of window 1 to - 
  execute JavaScript "document.getElementById('Join now')[0].click();" 
end tell 

EOF
  

Когда вторая часть скрипта пытается выполнить, я получаю эту ошибку:

62:63: синтаксическая ошибка: ожидаемое выражение, но найден конец строки. (-2741)

Как мне исправить эту ошибку и заставить скрипт правильно выполняться (нажмите кнопку)?

Ответ №1:

У вас нет правильного символа продолжения строки после to :

 tell active tab of window 1 to -
  

Используйте: ¬ , например:

 tell active tab of window 1 to ¬
  

Символ продолжения строки может быть создан путем ввода optionL в редакторе сценариев.

Если он все еще выдает ошибку, поместите все это в одну строку, например:

 tell active tab of window 1 to execute JavaScript "document.getElementById('Join now')[0].click();"