fab
fab

Reputation: 174

casperjs workaround for url=about:blank willNavigate=true, isMainFrame=false

I'm stuck on a page which returns 4 lines like this and then hangs up:

[debug] [phantom] opening url: https://xxx, HTTP GET
[debug] [phantom] Navigation requested: url=https://xxx, type=Other, willNavigate=true, isMainFrame=true
[info] [phantom] Step anonymous 3/6: done in 170ms.
[debug] [phantom] url changed to "https://xxx"
[debug] [phantom] Navigation requested: url=about:blank, type=Other, willNavigate=true, isMainFrame=false
[debug] [phantom] Navigation requested: url=about:blank, type=Other, willNavigate=true, isMainFrame=false
[debug] [phantom] Navigation requested: url=about:blank, type=Other, willNavigate=true, isMainFrame=false
[debug] [phantom] Navigation requested: url=about:blank, type=Other, willNavigate=true, isMainFrame=false

I launch the command this way, since I read about several ssl related bugs, and it works for the whole website xxx:

casperjs --ignore-ssl-errors=true --ssl-protocol=any script.js

My code is not nested since it's generated by my own class. However it's quite simple:

casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7');
casper.start().then(function() {
    this.open('https://xxx', {
        headers: {
            'Accept': 'text/html'
        }
    });
});

casper.then(function () {
    this.viewport(1920, 1080);
});

casper.wait(
    3000,
    function () {
        this.echo('timeout occured');
    }
);

casper.then(function() {
    this.capture('capture.png', {
        top: 0,
        left: 0,
        width: 1920,
        height: 1080
    });
});

casper.run();

I need a hint by an expert, unluckily I'm not. Thank you in advance

Upvotes: 1

Views: 2062

Answers (1)

fab
fab

Reputation: 174

Fixed in phantomjs 1.9.8, dont trust apt-get regular source (1.9.0-1) and guides around. Don't use 2.00 if you coupled it with casperjs, since is not supported.

Instructions for UBUNTU, for CENTOS replace apt-get with yum.

sudo apt-get update
apt-get install python
apt-get install ttf-mscorefonts-installer
sudo apt-get install build-essential chrpath libssl-dev libxft-dev
sudo apt-get install libfreetype6 libfreetype6-dev
sudo apt-get install libfontconfig1 libfontconfig1-dev
export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64"
wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2
sudo tar xvjf $PHANTOM_JS.tar.bz2
sudo mv $PHANTOM_JS /usr/local/share
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin

Upvotes: 1

Related Questions