phantom.js
をインストールしたばかりで、今すぐ使用しようとしています。PhantomJSのクッキーは、その後のリクエストで保持して再利用する
ウェブサイトのコンテンツを取得しようとしていますが、続行する前にプライバシーポリシーに同意する必要があります。
私の現在のコードは以下の通りです:
var page = require('webpage').create();
lastName = "T";
firstName = "N";
mmddyyyyS = "12/03/2016";
mmddyyyyE = "12/04/2016";
page.open("http://example.com/casesearch/processDisclaimer.jis");
page.open("http://example.com/casesearch/inquirySearch.jis?lastName="+lastName+"company=N&firstName="+firstName+"&filingStart="+mmddyyyyS+"&filingEnd="+mmddyyyyE, function(status) {
if (status === "success") {
if (page.injectJs("jquery.min.js")&&page.injectJs("moment.min.js")) {
var h1 = page.evaluate(function() {
return $("h1:eq(0)").css({fontSize: 10, color: "red"}).text();
});
console.log(h1);
}
}
else{
console.log("error");
}
});
phantom.onError = function(msg, trace) {
var msgStack = ['PHANTOM ERROR: ' + msg];
if (trace && trace.length) {
msgStack.push('TRACE:');
trace.forEach(function(t) {
msgStack.push(' -> ' + (t.file || t.sourceURL) + ': ' + t.line + (t.function ? ' (in function ' + t.function +')' : ''));
});
}
console.error(msgStack.join('\n'));
phantom.exit(1);
};
私はいつもconsole.log("error")
から、エラーが発生します。私は、私が彼らの条件を受け入れることを示す最初のリクエストを行っているためだと信じていますが、この提出後に通常ブラウザに表示されるクッキーは、その後の(2番目の)page.open
リクエストでは保存されません。私は文書addCookie()
とpage.cookies
を見てきましたが、1ページで達成されたクッキーが2ページ目のリクエストで使用されるように、チェーン要求については何も見ていません。
どうすればよいですか?
ありがとうございます。