#javascript #javascript-automation
#javascript #javascript-автоматизация
Вопрос:
Когда я пытаюсь напечатать Var 'password'
, он говорит
Ошибка -1700: не удается преобразовать типы.
var app = Application.currentApplication();
app.includeStandardAdditions = true;
var text = Application('System Events')
//prompt
var password = app.displayDialog('enter your password', {defaultAnswer: " "});
text.keystroke(password)
//returned message is Error -1700: Can't convert types.
Комментарии:
1. Вы пытаетесь зарегистрировать переменную password? Возможно, вместо text.keystroke() вы хотите использовать
console.log(password)
. Чтобы просмотреть то, что вы зарегистрировали, выберите «Показать журнал» в меню «Просмотр», а затем выберите вкладку «Сообщения» в нижней половине окна и повторно запустите скрипт. В качестве альтернативы, последний оператор вашего скрипта является его возвращаемым значением, поэтому, если вы просто создадите последнюю строку вашего скриптаpassword;
(без «var»!), то вы должны увидеть его значение, напечатанное в нижней части окна ScriptEditor, когда скрипт завершится.
Ответ №1:
displayDialog
Команда возвращает AlertReply
запись, которая выглядит следующим образом в JXA:
{"buttonReturned":"OK", "textReturned":"password"}
Чтобы получить значение, введенное в диалоговом окне, попробуйте добавить .textReturned
к displayDialog
вызову, вот так:
var password = app.displayDialog('enter your password', {defaultAnswer: " "}).textReturned;