javascript - CasperJS - 文档/jquery 完全加载后获取生成的源

标签 javascript jquery phantomjs casperjs

我在使用 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/

相关文章:

javascript - 在 JavaScript 中复制关联数组

javascript - 悬停在 ul 上不起作用

javascript - 单击链接时如何启动函数,然后从该链接传递类

node.js - 逐行解析生成的node.js子进程的输出

node.js - 未捕获的类型错误 : useValue, useFactory,数据不可迭代! Angular 4 cli项目错误

javascript - 如何处理 javascript 弹出窗口上的 ESC keydown

javascript - 如何使用 jquery $this 从列表中删除特定对象?

rspec - Datatables.net和rspec,测试完成处理

javascript - 逗号分隔的电话号码验证

Javascript/jQuery 插件到插件以更改边框颜色,相对于元素的背景颜色