Я соскабливаю веб-страницу с Кошмаром и хотел бы знать, как повторно использовать функцию над массивом входов.Как выполнять несколько функций Nightmare асинхронно
Допустим, у меня есть метод, чтобы восстановить название страницы
function* test(url,callback) {
var size = { width: 1920, height: 1080, 'use-content-size': true, show: true }
var nightmare = Nightmare(size)
var title = yield nightmare
.goto('http://cnn.com')
.evaluate(function() {
return document.title
});
console.log(title)
yield nightmare.end()
callback()
}
Я хотел бы выполнить этот метод через массив адресов. Поэтому я использую асинхронную библиотеку для запуска по всему массиву и выполняю функцию test
над массивом адресов urls
.
async.each(urls, test, function (err) {
console.log('done!');
});
Но async.each
не имеет поддержки генераторов функций, Как я могу изменить функцию тестирования для нормальной функции вместо функции генератора.
Что происходит, когда вы запускаете код? Вы также должны использовать url вместо http://cnn.com в функции goto. – tokeryberg
У вас есть выход? –