無効なリクエストをフィルタリングするには、onResourceRequested コールバックを使用できます。これにより、不要な URL を中止できます。
以下は、stackoverflow の基本的な例です。
var system = require('system');
var page = require('webpage').create();
var domain = 'stackoverflow.com'
var url = 'http://www.stackoverflow.com';
page.onResourceRequested = function (requestData, networkRequest) {
if (requestData.url.indexOf('.js')===-1 && requestData.url.indexOf(domain) === -1) {
networkRequest.abort();
console.log('aborted :'+ requestData.url)
}
};
page.onResourceReceived = function (response) {
console.log('Response (#' + response.url + ', stage "' + response.stage + '"): ');
};
if (system.args.length !== 1) {
console.log("Usage: phantomjs filter.js url");
} else {
page.open(url, function (status) {
if (status = 'succeed') {
console.log("status", status);
phantom.exit(0);
}
});
}
ページで JavaScript エラーが発生する可能性があるため、js ファイルを中止することはお勧めしません。
テストを高速化する別の方法は、引数を使用してイメージを無効にすることです--load-images=false