基本的な常に認証のあるページ、たとえばこのページでPhantomJSを使用しようとしています。
http://alexturpin.net/auth(test:rosebud
)
次のコードを使用する
var webpage = require('webpage');
page = webpage.create();
page.settings = {
userName: "test",
password: "rosebud"
};
page.open("http://alexturpin.net/auth/", function(status) {
console.log(status);
var retval = page.evaluate(function() {
return "test";
});
console.log(retval);
});
この出力を取得します
$ phantomjs test.js
success
null
何を試しても、が含まれているためページが正常に開かれたように見えても、evaluate
戻り続けます。null
status
"success"
http://alexturpin.net/noauthのように、基本認証なしでページを開くことにした場合でも、同じ結果が得られます。ページを開く前に最終的に認証設定を完全に削除した場合にのみ、機能します。
認証設定の使用は、と競合しているようですevaluate
。これはPhantomJSのバグですか、それとも何か見落としていましたか?