【发布时间】:2016-05-06 21:07:32
【问题描述】:
在评估函数内的循环内“单击”后,我无法处理事情。我不知道另一种治疗方法。
“乐”代码...
links = this.evaluate(function(){
story_boxes = __utils__.getElementsByXPath('//div[@id="contentCol"]//div[@id="stream_pagelet"]/div[contains(@id,"topnews_main_stream")]/div/div//div[contains(@data-ft,"{")]');
for(x=0;x<=story_boxes.length;x++){
story_box = story_boxes[x];
boxID = story_box.getAttribute('id');
//Is this feed a sponsored?
sponsored = story_box.querySelector('a.uiStreamSponsoredLink');
if(sponsored){
console.log("SPONSORED? " + sponsored );
try{
elink = story_box.querySelector('div > div > div > div > div > div > a');
}
catch(e){
console.log("Ooops! An error occured, sorry! " + e);
}
if(elink){
console.log("FOUND IT!");
crap = setTimeout( function(){
elink.click(); //where can I treat this?
}, 1000);
break;
}
else {
console.log("NO DONUT FOR YOU!");
}
console.log("\n\n#########");
}
}
console.log("#####");
});
//... more irrelevant things
问题是如何处理每次点击?我只需要点击结果的子树。我不知道我在这里是否清楚。应该不会吧……:P
【问题讨论】:
标签: javascript loops for-loop click casperjs