2012-05-10 14 views
1
ヌル

を返すと評価認証、次のコードPhantomJSは、基本的な認証は、私は常に基本とページ上PhantomJSを使用しようとしています

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); 
}); 
を使用する例は、このページ

http://alexturpin.net/authtest:rosebud

私は、この出力が何であれ、私

$ phantomjs test.js 
success 
null 

を取得試してみてくださいevaluatenullstatusには"success"が含まれているため、ページが正常に開かれたように見えますが、返されます。

http://alexturpin.net/noauthのような基本認証がないページを開くことにした場合でも、私は同じ結果を得ます。ページを開く前に最終的にすべての認証設定を削除した場合にのみ動作します。

認証設定の使用は、evaluateと競合しているようです。これはPhantomJSのバグですか、それとも私は何かを逃しましたか?

答えて

4

であなたにconsole.logを配置しよう、閉鎖問題です。それらを設定するためにそのコードを使用します。

page.settings.userName = "test"; 
page.settings.password = "rosebud"; 

おそらくPhantomJSが良い、つまりデフォルト設定についてはsettingsオブジェクトに依存しないことを処理する必要があります。

+0

ああ、 'phantom.exit();'を忘れないでください – FiloSottile

+0

ああ、それを考えていたはずです。どうもありがとう! –

-2

これはあなただけuserNamepasswordと交換、設定オブジェクトを一掃される構文では、コールバック

+0

そうではありません。あなたはその質問を理解していません。 –

関連する問題