Сегодня вечером я экспериментировал с ночными кошмарами, и мне нужно было сделать шаг во время выполнения, требующий ввода пользователя. Есть ли способ заставить кошмары позволить что-то вроде этого? Я изменил метод type(), который поставляется с lib, и я смог остановить выполнение, чтобы ввести какой-либо текст. Сценарий даже заканчивается, но я не вижу ввода, который я набрал, отображается в текстовом поле, в которое он должен войти. Я уверен, что селектор dom правильный, потому что, когда я использую тот же метод и встроенный метод type(), существует статический текст. В приведенном ниже коде, подскажите (MSG) представляет собой метод из sync-prompt Вот метод, который я написал, но не обновляет элемент на странице:Почему этот патч-асинхронный ввод не работает в Nightmarejs?
exports.type_async = function(selector, msg, done) {
this.page.evaluate(function(selector) {
return document.querySelector(selector);
}, function(element){
text = prompt(msg);
element.text = text;
done();
}, selector);
};
Что я делаю неправильно?
Вот почему я полностью удалить 'Text' полностью из сигнатуры функции. Я думаю, вы можете так назвать это, но я не пробовал: 'nightmare.typeAsync ('# foo')'. Повторите попытку, потому что это сделает функцию более разумной. –