Casperjsを使ってウェブスクレイピングをしようとしているのですが、
指定したURLにmeta refresh
リダイレクトがかかっているときに、それを追ってくれません。
現状では、以下のコードでページの読み込みが終わったことを識別し、
casper.waitFor(function() { return this.evaluate(function() { return document.readyState == "complete"; }); });
その後、そこまでのURLの変化でリダイレクトしたかどうかを判定しています。
var currentURL = url; var history = []; casper.on('url.changed', function (url) { // Record history of redirection casper.log('url.changed: ' + url, 'info'); history.push(url); currentURL = url; });
しかし、meta refresh
リダイレクトの場合、一度ページが読み込まれてしまうので、ロードが終わったと判定されてしまうようです。
前後にwait()
をいれてみましたが、効果がありませんでした。
何か良い方法をご存知でしょうか?
よろしくお願いいたします。
あなたの回答
tips
プレビュー