如何运行。评估,然后在恶梦中多次

我试图废弃由AJAX生成的网页。 在<div class='main'>内的网页上有几个<a class='classLinks'>元素,点击其中一个元素后,内容就会在同一个<div class='main'><a class='classLinks'>元素被replace为一个<a class='back'>后退button。

我的任务是抓取点击<div class='main'>内的所有<a class='classLinks'>元素后生成的内容,并将其写入控制台日志。 我把所有的<a class='classLinks'>到select器的数组,但问题是我不知道如何运行序列“ .click, .wait, .evaluate., .click ”里面for循环。

步骤是:

 goto http://example.com click on subpage get all "a" elements content = "" for (i=0; i < a.lenght; i++) { click on a[i] content = content + div.innerHTML; click on "a.back" } console.log content; 

我的代码看起来:

 var content nightmare .goto('http://example.com') .wait('.firstpage') .click('a.subpage') .wait('.main') .evaluate(function(){ var links = document.querySelectorAll('a.classLinks'); for (i = 0; i < links.length; ++i) { links[i].click(); // now i need to wait for <div class='main'> .wait('.main') // and do evaluate again .evaluate(function(){ //content is glogal variable content = content + document.querySelector('div.main').innerHTML; // and click on 'back' link becaus all a.classLinks disappeared document.querySelector('a.back').click(); }) }) return content; .end() .then(function(content) { console.log(content); }) 

如何在恶梦中如何处理几个评价?