Я только что установил phantom.js
и пытаюсь использовать его сейчас.PhantomJS Cookies Сохранять и повторно использовать по следующему запросу
Я пытаюсь получить содержимое веб-сайта, однако мне нужно указать, что я согласен с их политикой конфиденциальности, прежде чем продолжить.
Мой текущий код ниже:
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")
. Я считаю, что это потому, что я делаю первый запрос, который указывает, что я принимаю их условия, но cookie, который я обычно получаю в браузере после того, как это представление не будет сохранено для последующего (второго) page.open
запроса. Я видел в документации addCookie()
и page.cookies
, но ничего о цепочке запросов, чтобы cookie, достигнутый на одной странице, не использовался в запросе для второй страницы.
Как это сделать?
спасибо.