我使用Nightmarejs来取消网站。我想链接多个操作(承诺?)取决于一些输入。看看下面的代码:如何链接节点js上的可变数量的方法?
var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true });
nightmare
.goto('https://www.servipag.com/')
.select('select#servicios.txt_formulario', '29')
.wait(200)
.select('select#billers', '700')
.insert('input#identificador','60957924')
.click('#formPagoCuentas a[href^="javascript:AgregarCuentasaPagar"]')
.wait(10)
.click('#formPagoCuentas a[href^="javascript:enviar"]')
.wait('fieldset')
.evaluate(function() {
return document.querySelector('.txt_detalle_boleta').innerHTML;
})
.end()
.then(function (result) {
console.log(result);
})
.catch(function (error) {
console.error('Search failed:', error);
});
我希望能够附加的时间(从1到15)如下的变量数量:
.select('select#servicios.txt_formulario', '29')
.wait(200)
.select('select#billers', '700')
.insert('input#identificador','60957924')
.click('#formPagoCuentas a[href^="javascript:AgregarCuentasaPagar"]')
.wait(10)
所以四倍整体代码将是:
var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true });
nightmare
.goto('https://www.servipag.com/')
// -- repeat this 4 times
.select('select#servicios.txt_formulario', '29')
.wait(200)
.select('select#billers', '700')
.insert('input#identificador','60957924')
.click('#formPagoCuentas a[href^="javascript:AgregarCuentasaPagar"]')
.wait(10)
// ---
.select('select#servicios.txt_formulario', '29')
.wait(200)
.select('select#billers', '700')
.insert('input#identificador','60957924')
.click('#formPagoCuentas a[href^="javascript:AgregarCuentasaPagar"]')
.wait(10)
// ---
.select('select#servicios.txt_formulario', '29')
.wait(200)
.select('select#billers', '700')
.insert('input#identificador','60957924')
.click('#formPagoCuentas a[href^="javascript:AgregarCuentasaPagar"]')
.wait(10)
// ---
.select('select#servicios.txt_formulario', '29')
.wait(200)
.select('select#billers', '700')
.insert('input#identificador','60957924')
.click('#formPagoCuentas a[href^="javascript:AgregarCuentasaPagar"]')
.wait(10)
// -- end
.click('#formPagoCuentas a[href^="javascript:enviar"]')
.wait('fieldset')
.evaluate(function() {
return document.querySelector('.txt_detalle_boleta').innerHTML;
})
.end()
.then(function (result) {
console.log(result);
})
.catch(function (error) {
console.error('Search failed:', error);
});
我该怎么办?