Не могу открыть 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 является ботом на основе проверок, которые они реализовали

Page Loaded

самый простой из исправлений-использовать Chrome Вместо PhantomJS. Иначе это означает приличное количество времени расследования

некоторые аналогичные без ответа / ответили на вопрос в прошлом

Selenium и PhantomJS: веб-страница считает, что Javascript отключен

PhantomJS не получает реального контента, работающего на AWS EC2 CentOS 6

file_get_contents при обходе обнаружения javascript

Python POST запрос не возвращает HTML, Запрос JavaScript Будет Включен

я обновлю этот пост с более подробной информацией, которую я нахожу. Но мой опыт говорит, Идите с тем, что работает, а не тратить время на таких сайтах, которые не работают под PhantomJS

обновление-1

Я попытался импортировать куки браузера в PhantomJS, и он все равно не будет работать. Это означает, что есть некоторые жесткие проверки

Cookies


Я испытал эту проблему с phantomJS, и следующие службы args решили ее:

--ignore-ssl-errors=true
--ssl-protocol=any
--web-security=false
--proxy-type=None

Не могу помочь вам с casperJS и slimerJS, и не знаю точно, почему это сработало.