casperJS失败注入jQuery

时间:2013-07-27 01:05:18

标签: javascript jquery phantomjs casperjs

有谁知道我怎么会遇到

[warning] [phantom] Failed injecting %s client side. 
Failed injecting includes/jquery-1.10.2.min.js client side 

当我加入

'includes/jquery-1.10.2.min.js' 

在Casper构造函数中。有人在这里发布了一个类似的问题:https://groups.google.com/forum/#!msg/casperjs/hY4ziaoXIEE/YFi8Sj4JysMJ,但我不明白他们如何在他们的解决方案中加入casper.evaluate():

casper.then( function() {
this.evaluate(function($) {
console.log($('title').text());
}
}); 

2 个答案:

答案 0 :(得分:10)

我不记得能够使用CasperJs构造函数的clientScripts选项注入脚本。相反,我总是为我找到以下作品。

casper = require('casper').create();
casper.start();
casper.open('some url');
casper.then(function doSomething() {
    this.page.injectJs('relative/local/path/to/jquery.js');
    var items = this.evaluate(function () {
        return $('div.someClass'); // jquery here
    });
});

答案 1 :(得分:2)

让我感到震惊的是,include的路径是相对于调用脚本的目录,而不是脚本实际所在的目录。