Je cours une erreur, en incluant vanilla JS dans nightmare.js. Je veux m'assurer que chaque email de mon tableau est entré dans le système. Une boucle serait idéal, mais je l'ai courir sans cesse en erreur telles que:Erreur Nightmare.js: La recherche a échoué: Rien ne répond à "goto"
Search failed: Nothing responds to "goto"
Voici mon code:
var jquery = require('jquery');
var Nightmare = require('nightmare');
var nightmare = Nightmare({
show: true,
dock: true
});
var siteName = "*********";
var username = "*********";
var password = "*********";
var outboundEmailArray = [
{
"from_name": "TestOutbound",
"email_username": "array1",
"email_domain": "salesforce.com",
"email_domain": "salesforce.com",
"reply_to": "[email protected]"
},
{
"from_name": "Tester",
"email_username": "array2.0",
"email_domain": "salesforce.com",
"email_domain": "salesforce.com",
"reply_to": "[email protected]"
}
];
//
// var outboundEmailSetup = function(outboundEmail){
// nightmare
// .goto("https://" + siteName + ".desk.com/login/new")
// .type("input[id='user_session_email']", username)
// .type("input[id='user_session_password']", password)
// .click("#user_session_submit").wait(2000)
// .goto("https://" + siteName + ".desk.com/admin/settings/mail-servers")
// .click("#a-add-modal").wait(2000)
// .type("input[id='postmark_outbound_mailbox_fromname']", outboundEmail.from_name).wait(2000)
// .type("input[id='email_username']", outboundEmail.email_username).wait(2000)
// .click("#from_select_4999").wait(2000)
// .type("input[id='postmark_outbound_mailbox_reply_to']", outboundEmail.reply_to).wait(2000)
// .click("#postmark_commit").wait(2000)
// .click(".a-modal-bottom .a-button").wait(2000)
// .evaluate(function() {})
// .end()
// .then(function(result) {
// console.log(result)
// })
// .catch(function(error) {
// console.error('Search failed:', error);
// });
// }
var outboundEmailSetup = function(i){
if(i < outboundEmailArray.length) {
nightmare
.goto("https://" + siteName + ".desk.com/login/new")
.type("input[id='user_session_email']", username)
.type("input[id='user_session_password']", password)
.click("#user_session_submit").wait(2000)
.goto("https://" + siteName + ".desk.com/admin/settings/mail-servers")
.click("#a-add-modal").wait(2000)
.type("input[id='postmark_outbound_mailbox_fromname']", outboundEmailArray[i].from_name).wait(2000)
.type("input[id='email_username']", outboundEmailArray[i].email_username).wait(2000)
.click("#from_select_4999").wait(2000)
.type("input[id='postmark_outbound_mailbox_reply_to']", outboundEmailArray[i].reply_to).wait(2000)
.click("#postmark_commit").wait(2000)
.click(".a-modal-bottom .a-button").wait(2000)
.evaluate(function() {})
.end()
.then(function(result) {
console.log(result)
})
.catch(function(error) {
console.error('Search failed:', error);
});
outboundEmailSetup(i+1);
}
}
outboundEmailSetup(0);
Idéalement, il serait boucle à travers le outboundEmailArray, exécutez la fonction à l'entrée les e-mails dans le système, répétez jusqu'à ce qu'il ait atteint la fin du tableau.
Je reçois une erreur semblable quand je tente d'appeler evalute/puis des méthodes plus d'une fois sur le même cauchemar objet –