我在使用 CasperJS 解析页面时遇到问题。看起来 this.evaluate() 函数只处理源代码。但是,我正在查看的页面在文档完全加载后使用 jQuery 将类添加到特定元素。
页面完全加载/准备就绪后,如何使用 CasperJS 评估生成的源代码。
casper.start(url);
casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/30.0.1599.101');
casper.viewport(1920, 20000);
casper.on('load.finished', function(resource) {
this.evaluate(getSelectedItems);
});
casper.run();
.
这是我当前尝试在 this.evaluate(getSelectedItems) 函数中使用的代码。我只想检测有多少个选定的项目,但源代码不包含 .selected-item。该类是在使用 jQuery 加载完整页面后生成的。
function getSelectedItems() {
return document.querySelector('.selected-item').length;
}
最佳答案
如果元素不能立即可用,wait for them :
casper.waitForSelector('.selected-item', function() {
this.echo(this.evaluate(getSelectedItems));
});
关于javascript - CasperJS - 文档/jquery 完全加载后获取生成的源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056123/