簡體   English   中英

casper js我如何將varibales從一個homade函數傳遞給另一個

[英]casper js how can i pass varibales from one homade function to another

好的,所以我已經開始構建自己的模塊以在casperjs中使用,我已經到了要在其中將變量從一個函數傳遞給另一個函數的地步,這是我下面的內容

我的模塊-功能

exports.accdata = function(accnum, amnum) {
    var accountnumber = casper.fetchText('div.arabic:nth-child(2) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(' + accnum + ') > td:nth-child(2) > a:nth-child(1)');
    var amountwithtype =casper.fetchText('div.arabic:nth-child(2) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(' + amnum + ') > td:nth-child(4) > div:nth-child(1)');
    var redir = accountnumber.substr(1);
    var split = amountwithtype.split (' '); 
    var amount = split[0];
    var type = split[1];
};

exports.job = function (in1, in2){
    console.log(in1);
    console.log(in2);
};

然后我想通過的是我的casperjs腳本

casper.then(function(){
   universe.accdata("3", "3");
   universe.job(amount, type);
});

我是一個非常新的人,確實需要有關如何設置函數來傳遞數據的幫助。

您的accdata函數只是設置一堆變量,然后不使用它們。 最簡單的解決方案是將兩個函數放在一起,但另一個解決方案可能是從第一個函數返回一個對象並將其作為參數傳遞給第二個函數。

exports.accdata = function(accnum, amnum) {
    return {
        accountnumber: casper.fetchText('div.arabic:nth-child(2) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(' + accnum + ') > td:nth-child(2) > a:nth-child(1)'),
        amountWithType: casper.fetchText('div.arabic:nth-child(2) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(' + amnum + ') > td:nth-child(4) > div:nth-child(1)'),
        ...
    };
};

exports.job = function(data) {
    console.log(data);
};

然后像這樣使用它:

casper.then(function() {
    universe.job(universe.accdata("3", "3"));
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM