【发布时间】:2017-11-15 13:07:54
【问题描述】:
我是 casperjs 的初学者,我正在尝试自动访问一个网站并抓取一些信息,我启动 url,然后将一些链接存储在一个名为“links”的表中,然后我尝试点击该表中的第一个元素(links[0]),最后测试具有 id("ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2") 的链接是否存在。
问题是,我无法得到任何输出,我想这是因为程序首先无法访问链接(链接 [0]),这就是它找不到 id i 的原因米找。 这是我写的代码。
var url=''; //first link
var casper = require('casper').create();
var links;
var lien;// second link
function getLinks() {
var links = document.querySelectorAll('td a');
return Array.prototype.map.call(links, function (e) {
return e.getAttribute('href')
});
}
casper.start(url);
casper.then(function () {
links = this.evaluate(getLinks);
});
casper.then(function () {
lien = links[0];
});
casper.thenOpen(lien , function(){
if (this.exists('a[id="ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2"]')) {
this.echo('the heading exists');
}
else {console.log('does not exist');
}
});
casper.run(function () {
this.exit();
});`
this is the link I'm trying the find
请注意,我使用的 casperjs 版本是 1.1.4
【问题讨论】:
-
请在您的问题中提供您正在使用的 casperjs 和 phanomjs 版本,最好提供您在控制台中的全部输出。
-
我已将它们添加到问题中。
-
这意味着代码在打开页面之前就中断了,在这一行
casper.start(url);我会尝试在几个小时内运行它并回复你 -
非常感谢您,我将等待您的答复
-
但是我需要知道您使用的是哪种浏览器 phantomjs 或 slimerjs?
标签: javascript web-scraping casperjs