CasperJS 抓取被 <noscript> 标签挫败
CasperJS scraping foiled by <noscript> tag
我正在使用 CasperJS 抓取网站。页面源代码有一个 <noscript>
标签,因此没有显示我需要抓取的页面,因为它声称我没有启用 JavaScript。
javascriptEnabled
在 CasperJS 中默认为 true
,但我还是将其添加到我的初始化中,但无济于事。
是否有解决此问题的解决方法?这也可能是 PhantomJS 的问题...
好的,这个问题已经解决了 -- 如果有人有任何问题,我做了以下操作。 HTML 是由 JavaScript 渲染的,加载时间很长,所以像平常在浏览器中一样打开它,找到一个只有在 javascript 加载时才会出现的元素-- 注意查看源代码不起作用你必须检查元素(你得到当前 DOM)。
然后我做了:
casper.waitForSelector('.SOME_CLASS', function() {
this.echo(this.getHTML('.SOME_CLASS'));
this.echo(this.getElementInfo('.SOME_CLASS').text);
});
这允许页面停止并加载 javascript。
我正在使用 CasperJS 抓取网站。页面源代码有一个 <noscript>
标签,因此没有显示我需要抓取的页面,因为它声称我没有启用 JavaScript。
javascriptEnabled
在 CasperJS 中默认为 true
,但我还是将其添加到我的初始化中,但无济于事。
是否有解决此问题的解决方法?这也可能是 PhantomJS 的问题...
好的,这个问题已经解决了 -- 如果有人有任何问题,我做了以下操作。 HTML 是由 JavaScript 渲染的,加载时间很长,所以像平常在浏览器中一样打开它,找到一个只有在 javascript 加载时才会出现的元素-- 注意查看源代码不起作用你必须检查元素(你得到当前 DOM)。
然后我做了:
casper.waitForSelector('.SOME_CLASS', function() {
this.echo(this.getHTML('.SOME_CLASS'));
this.echo(this.getElementInfo('.SOME_CLASS').text);
});
这允许页面停止并加载 javascript。