Javascript 根据页面元素的存在,更改文件路径以保存页面内容

Javascript 根据页面元素的存在,更改文件路径以保存页面内容,javascript,html,casperjs,Javascript,Html,Casperjs,我下载了许多带有casperjs的html页面,但我想将它们分别放在两个文件夹中。 某些文件包含id=“trie”,而其他文件不包含 请问我能做什么 这是我的剧本 casper.repeat(j , function(){ casper.open(arrdata[i]); // arrdata[i] : contains url of file to download casper.wait(5000, function(){ file = 'pages/road/r_' + i

我下载了许多带有casperjs的html页面,但我想将它们分别放在两个文件夹中。 某些文件包含id=“trie”,而其他文件不包含

请问我能做什么

这是我的剧本

casper.repeat(j , function(){
  casper.open(arrdata[i]); // arrdata[i] : contains url of file to download
  casper.wait(5000, function(){
    file = 'pages/road/r_' + i +'.html';
    fs.write(file, casper.getHTML(), 'w');
  });
  i++;
});
但我想这样做

casper.repeat(j, function(){
  casper.open(arrdata[i]);
  if ("id=trie" exists in contains of arrdata[i] ){
    this file is put to pages/trie/...html
  } else {
    this file is put to pages/road/...html
  }
  i++;
});

您要使用exists函数:

var i = 0;
var fs = require('fs');
casper.repeat(j, function(){
  (function(i){
    casper.thenOpen(arrdata[i], function(){
      if (casper.exists("#Trie")){
        fs.write("pages/trie/"+i+".html", casper.getHTML());
      } else {
        fs.write("pages/road/"+i+".html", casper.getHTML());
      }
    });
  })(i);
  i++;
});

请注意,这必须在一个步骤中完成,否则会遇到并发问题。在您的代码中,所有的
open
调用都是在执行第一个
wait
之前执行的

您的意思是url看起来像这样:这是一个假url,我只是问这是否是格式,或者您的意思是页面上是否有一个元素具有
id=“trie”
?您有什么想法吗?请?我的意思是,如果在获得的页面中有一个元素id=trie非常感谢,我会测试这个,我会让你继续发帖。请在一个步骤中回答你的意思是什么?这些文件都在pages/road/中;(很抱歉,忘记了IIFE。您确定有包含
id=“trie”
的页面吗?很抱歉,这是trie的问题,但不是trie,这是我的错误,但是什么是| | FE,拜托?这很好地说明了它是什么以及为什么需要它。