有谁知道我怎么会遇到
[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());
}
});
答案 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的路径是相对于从调用脚本的目录,而不是脚本实际所在的目录。