如何在 CasperJS 中使用 'row elements' of excel file(xlsx)?

How to use 'row elements' of excel file(xlsx) in CasperJS?

我想将 excel 文件(它由一列和多行字符串组成)导入到我的 JavaScript 中,我将使用 .xlsx 的这些字符串元素自动搜索文本CasperJS

如何导入excel文件并轮流应用所有元素?

这是我的代码,我想将 excel 文件的元素放入“something

casper.start('http://thehomepage.com/');
// start at homepage

casper.then( function (){
    this.sendKeys('#dicQuery','**something**');
    // I want to put my elements iteratelly
    console.log('entering text');
});
casper.thenClick(x('//*[@id="field"]/a'), function(){
    console.log('click searching');
});
casper.then(function() {
    words = this.evaluate(getWords);
});

function createFinal(wordArray) {

    var out = [];
    // remove duplicating START
    var a = {};
    for(var i=0; i <wordArray.length; i++){
        if(typeof a[wordArray[i]] == "undefined")
            a[wordArray[i]] = 1;
    }
    wordArray.length = 0;
    for(i in a)
        wordArray[wordArray.length] = i;
     // remove duplicating END
    wordArray.forEach(function(my_word) {
        out.push({"moeum": "**something**", "word": my_word});
    });   // I want to put my elements in it iteratelly                 

    return out;                 
}

我认为 PhantomJS(以及 CasperJS)中没有 xlsx 文件 reader,但您可以将 xlsx 文件保存为 csv。由于它是一个简单的文本文件,因此您可以阅读它并自己构建 sheet。

例如:

var fs = require("fs");

var sheet = fs.read("data.csv")
  .split("\n")
  .map(function(row){
    return row.split(";"); // or which even split character your have chosen for CSV
  });

然后你可以这样访问它:

sheet[rowIndex][colIndex]