Bạn có thể sử dụng __utils__.sendAJAX()
:
var casper = require('casper').create();
var wsurl = 'https://raw.github.com/n1k0/casperjs/master/package.json';
var word;
casper.start('http://google.com/', function() {
word = this.evaluate(function(wsurl) {
try {
return JSON.parse(__utils__.sendAJAX(wsurl, 'GET', null, false)).name;
} catch (e) {
}
}, {wsurl: wsurl});
});
casper.then(function() {
if (!word) {
this.die('unable to retrieve word');
}
this.echo('searching for ' + word);
this.fill('form[action="/search"]', {q: word}, true);
});
casper.run(function() {
this.echo(this.getCurrentUrl());
this.exit();
});
mẫu thực hiện (đừng quên để vượt qua --web-security=no
):
$ casperjs test.js --web-security=no
searching for casperjs
http://www.google.fr/search?hl=fr&source=hp&q=casperjs&gbv=2&oq=&gs_l=
Hy vọng nó giúp.
bằng cách sử dụng xmlhttprequest? – NiKo
Đó là cách tôi sẽ làm điều đó nếu tôi đang sử dụng jQuery. Không biết cách tối ưu để làm điều này với CasperJS. Hãy ghi nhớ đây là một yêu cầu miền chéo, mà tôi không mong đợi là một vấn đề trong casper. – eComEvo