2

有谁知道我怎么会遇到

[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());
}
}); 
4

2 回答 2

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
    });
});
于 2013-07-27T19:45:37.220 回答
2

让我感到困惑的是,包含的路径是相对于您从中调用脚本的目录,而不是脚本实际所在的目录。

于 2015-04-07T13:56:59.180 回答