Avatar of Bruce Gust
Bruce GustFlag for United States of America

asked on 

Why does this say "PhantomJS not found?"

I'm working with PhantomJS (http://phantomjs.org/screen-capture.html). The example is a real straight forward looking piece of code, but I keep getting an error that says "phantomjs not found." See the screenshot below:

User generated image
...and then the rasterize.js code:

"use strict";
var page = require('webpage').create(),
    system = require('system'),
    address, output, size;

if (system.args.length < 3 || system.args.length > 5) {
    console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
    console.log('  paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"');
    console.log('  image (png/jpg output) examples: "1920px" entire page, window width 1920px');
    console.log('                                   "800px*600px" window, clipped to 800x600');
    phantom.exit(1);
} else {
    address = system.args[1];
    output = system.args[2];
    page.viewportSize = { width: 600, height: 600 };
    if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") {
        size = system.args[3].split('*');
        page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
                                           : { format: system.args[3], orientation: 'portrait', margin: '1cm' };
    } else if (system.args.length > 3 && system.args[3].substr(-2) === "px") {
        size = system.args[3].split('*');
        if (size.length === 2) {
            pageWidth = parseInt(size[0], 10);
            pageHeight = parseInt(size[1], 10);
            page.viewportSize = { width: pageWidth, height: pageHeight };
            page.clipRect = { top: 0, left: 0, width: pageWidth, height: pageHeight };
        } else {
            console.log("size:", system.args[3]);
            pageWidth = parseInt(system.args[3], 10);
            pageHeight = parseInt(pageWidth * 3/4, 10); // it's as good an assumption as any
            console.log ("pageHeight:",pageHeight);
            page.viewportSize = { width: pageWidth, height: pageHeight };
        }
    }
    if (system.args.length > 4) {
        page.zoomFactor = system.args[4];
    }
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('Unable to load the address!');
            phantom.exit(1);
        } else {
            window.setTimeout(function () {
                page.render(output);
                phantom.exit();
            }, 60000);
        }
    });
}

Open in new window


What do you think? Why am I getting the error "phantomjs: not found
PHPJavaScript

Avatar of undefined
Last Comment
Bruce Gust
Avatar of Julian Hansen
Julian Hansen
Flag of South Africa image

Are you sure phantomjs is not a folder.

Try ls -al in the command window to see what is displayed - if it is a folder then I suspect what you are looking for needs to be called with the folder name or from within the folder.
Avatar of Bruce Gust
Bruce Gust
Flag of United States of America image

ASKER

Here's what I've got after doing ls -al

User generated image
Avatar of Julian Hansen
Julian Hansen
Flag of South Africa image

And if you do
./phantomjs
Avatar of Bruce Gust
Bruce Gust
Flag of United States of America image

ASKER

I did this:

$ ./phantomjs

...and I got phantomjs?

Is that right?
ASKER CERTIFIED SOLUTION
Avatar of Julian Hansen
Julian Hansen
Flag of South Africa image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Bruce Gust
Bruce Gust
Flag of United States of America image

ASKER

Julian, that did it!

Why?

If I start off with "cd /var/www/html/phantomjs" does that not put my "process space" within that directory? Why would I have to reference a file (phantomjs) as though it were one directory up from where I appear to be?
SOLUTION
Avatar of Dave Baldwin
Dave Baldwin
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
Avatar of Bruce Gust
Bruce Gust
Flag of United States of America image

ASKER

Thank you guys!

I have another question that's related to this, but I didn't want to wear out my welcome and allow this question to morph into two.

Here's the other question: https://www.experts-exchange.com/questions/28915371/Why-does-this-PhantomJS-script-not-seem-to-work.html


Thanks for your time!
JavaScript
JavaScript

JavaScript is a dynamic, object-based language commonly used for client-side scripting in web browsers. Recently, server side JavaScript frameworks have also emerged. JavaScript runs on nearly every operating system and in almost every mainstream web browser.

127K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo