[英]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.