无法使用Slimerjs,casperjs,phantomjs打开https网页

时间:2018-04-15 07:43:47

标签: automation phantomjs casperjs slimerjs

这是我第一次无法使用无头浏览器打开网站: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 个答案:

答案 0 :(得分:6)

问题不在于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 and PhantomJS : webpage thinks Javascript is disabled

PhantomJS get no real content running on AWS EC2 CentOS 6

file_get_contents while bypassing javascript detection

Python POST Request Not Returning HTML, Requesting JavaScript Be Enabled

我将使用我找到的更多详细信息更新此帖子。但是我的经验表明,继续使用有效的方法而不是浪费时间在PhantomJS下不能工作的网站上

<强>更新-1

我曾尝试将浏览器Cookie导入PhantomJS,但仍然无法正常工作。这意味着有一些硬性检查

Cookies

答案 1 :(得分:1)

我使用phantomJS遇到了这个问题,以下服务args解决了它:

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

无法帮助您使用casperJS和slimerJS,也无法确切了解其原因。