Javascript CasperJs:单击循环中的链接以打开模式弹出窗口
我有一个页面,加载带有“详细信息”链接的项目列表。 单击此链接将打开一个模式弹出窗口,其中包含我需要的数据 我想循环浏览每个“详细信息”链接,单击它打开模式弹出窗口,读取数据,关闭它,然后继续下一步 我该怎么做呢?我不知道如何在循环中触发远程单击以打开模式,然后是“.waitForSelector”以读取模式中的信息 到目前为止,我已经:Javascript CasperJs:单击循环中的链接以打开模式弹出窗口,javascript,phantomjs,casperjs,Javascript,Phantomjs,Casperjs,我有一个页面,加载带有“详细信息”链接的项目列表。 单击此链接将打开一个模式弹出窗口,其中包含我需要的数据 我想循环浏览每个“详细信息”链接,单击它打开模式弹出窗口,读取数据,关闭它,然后继续下一步 我该怎么做呢?我不知道如何在循环中触发远程单击以打开模式,然后是“.waitForSelector”以读取模式中的信息 到目前为止,我已经: casper.start(url); // How do i loop these two steps ?? casper.then(function()
casper.start(url);
// How do i loop these two steps ??
casper.then(function() {
this.evaluate(function() {
var detailsBtn = Zepto('.details').first();
detailsBtn.trigger('click');
});
});
casper.waitForSelector('#popup-window', function() {
// read data from popup
});
这适用于一个链接:)
任何帮助都将不胜感激
谢谢好的,我在CasperJS的帮助下找到了答案 以下是任何尝试类似方法的人的解决方案:
casper.start(url);
var i = 1;
casper.then(function loadResults(){
var linkCount = this.getElementsInfo('.link').length;
console.log('Found ' + linkCount + ' links.');
this.repeat(linkCount, function() {
try {
this.click('.link'); // opens modal popup
this.waitUntilVisible('#modal', function() {
// do work
});
this.click('#close'); // close modal popup
} catch(err) {
console.log(err);
} finally {
i++;
}
});
});
casper.run();
我认为所有的
这个。点击应该是这个。然后点击。