Не могу открыть https web с помощью Slimerjs, casperjs, phantomjs
это первый раз, когда я не могу открыть веб-сайт, используя безголовый браузер, такой: phantomjs, slimerjs или casperjs. Я просто хочу открыть сайт. Я просто создаю очень простой скрипт, чтобы открыть сайт и сделать скриншот. но 3 (три) из них дают мне пустую картину.
Я стараюсь использовать:
--debug=true
--ssl-protocol=TLSv1.2 (i try each of available protocol)
--ignore-ssl-errors=true
вот мой сценарий:
Slimerjs
var page = require("webpage").create();
page.open("https://domain/")
.then(function(status){
if (status == "success") {
page.viewportSize = { width:1024, height:768 };
page.render('screenshot.png');
}
else {
console.log("Sorry, the page is not loaded");
}
page.close();
phantom.exit();
});
phantomjs
var page = require('webpage').create();
page.open('https://domain/', function() {
page.render('screenshot.png');
phantom.exit();
});
casperjs
var casper = require('casper').create({
viewportSize: {width: 950, height: 950}
});
casper.start('https://domain/', function() {
this.capture('screenshot.png');
});
casper.run();
Я даже пытаюсь использовать службу захвата экрана, чтобы узнать, могут ли они открыться или нет. Но все они мне тоже ничего не дают.
тут я что-то пропустил?
2 ответов
проблема не в PhantomJS как таковом. Сайт, который вы проверяете, защищенF5 network protection
https://devcentral.f5.com/articles/these-are-not-the-scrapes-youre-looking-for-session-anomalies
Так что это не то, что страница не загружается. Это то, что механизм защиты обнаруживает, что PhantomJS является ботом на основе проверок, которые они реализовали
самый простой из исправлений-использовать Chrome Вместо PhantomJS
. Иначе это означает приличное количество времени расследования
некоторые аналогичные без ответа / ответили на вопрос в прошлом
Selenium и PhantomJS: веб-страница считает, что Javascript отключен
PhantomJS не получает реального контента, работающего на AWS EC2 CentOS 6
file_get_contents при обходе обнаружения javascript
Python POST запрос не возвращает HTML, Запрос JavaScript Будет Включен
я обновлю этот пост с более подробной информацией, которую я нахожу. Но мой опыт говорит, Идите с тем, что работает, а не тратить время на таких сайтах, которые не работают под PhantomJS
обновление-1
Я попытался импортировать куки браузера в PhantomJS, и он все равно не будет работать. Это означает, что есть некоторые жесткие проверки
Я испытал эту проблему с phantomJS, и следующие службы args решили ее:
--ignore-ssl-errors=true
--ssl-protocol=any
--web-security=false
--proxy-type=None
Не могу помочь вам с casperJS и slimerJS, и не знаю точно, почему это сработало.