Getting Started with PhantomJS

Getting Started with PhantomJS
eBook: $17.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $47.98    Print cover: $29.99
save 6%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Writing scripts that can interact directly with web services and pages
  • Interacting with social media websites using PhantomJS scripts
  • Creating web-based test scripts and running them in a headless browser

Book Details

Language : English
Paperback : 140 pages [ 235mm x 191mm ]
Release Date : November 2013
ISBN : 1782164227
ISBN 13 : 9781782164227
Author(s) : Aries Beltran
Topics and Technologies : All Books, Web Development, Open Source

Table of Contents

Chapter 1: Getting Started
Chapter 2: Manipulating Page Content
Chapter 3: Handling Events and Callbacks
Chapter 4: Capturing Errors
Chapter 5: Grabbing Pages
Chapter 6: Accessing Location-based Services
Chapter 7: Working with Files
Chapter 8: Cookies
Chapter 9: External JavaScript
Chapter 10: Testing with PhantomJS
Chapter 11: Maximizing PhantomJS
  • Chapter 1: Getting Started
    • Downloading PhantomJS
    • Building PhantomJS from source
    • Working with PhantomJS
    • PhantomJS JavaScript API
      • The Module API
      • The WebPage API
      • The System API
      • The FileSystem API
      • The WebServer API
    • The phantom object
    • The command-line arguments
      • The script argument
      • The debug option
      • The cookie-file option
    • Writing PhantomJS scripts
    • Summary
  • Chapter 2: Manipulating Page Content
    • Opening a web page
    • Playing with DOM elements
      • Selecting elements
    • Simulating mouse clicks
      • PhantomJS event triggering
      • DOM event triggering
    • Working with form fields
    • Summary
  • Chapter 3: Handling Events and Callbacks
    • Listening to page events
      • Page load events
      • When a resource is requested
      • Receiving a page resource
        • Two stages of the resource received event
      • Knowing when the URL changes
    • Capturing alert messages
    • Answering prompt messages
    • Responding to confirm pop ups - OK or Cancel
    • Performing user events
      • Keyboard events
      • Mouse events
    • Summary
  • Chapter 4: Capturing Errors
    • Handling PhantomJS errors
    • Capturing page script errors
    • Anticipating the page loading error
    • Exiting with error codes
    • Summary
  • Chapter 7: Working with Files
    • PhantomJS FileSystem API
    • Reading files
      • Checking for file existence
      • Opening the file
      • Closing the opened files
    • Writing files
    • Character encoding
    • Summary
  • Chapter 8: Cookies
    • Reading cookies
    • Baking some cookies
    • Deleting cookies
    • Keeping cookies
    • Summary

Aries Beltran

Aries Beltran is a software developer located in Manila, Philippines. He works as an architect and R&D developer for financial businesses using web and enterprise technologies. He is currently developing new tools to provide real-time insights. He is interested in playing around with cutting-edge HTML5 development and mobile visualization. When he isn't coding, he likes to take photos of his daughter, Tara, who is his favorite model.
Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Getting Started with PhantomJS +    Microsoft SharePoint 2010 Business Application Blueprints =
50% Off
the second eBook
Price for both: $31.95

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Explore the possibilities of PhantomJS development and make use of a headless browser
  • Understand PhantomJS’ core features and API
  • Manipulate the DOM properties of web pages using scripts
  • Interact with web pages using PhantomJS scripts
  • Learn how to emulate keyboards and mouse actions
  • Work with geolocation services with PhantomJS
  • Build scripts that will create web sites snapshots
  • Create and implement PhantomJS custom modules
  • Use PhantomJS to perform headless testing with Jasmine

In Detail

PhantomJS is a headless WebKit browser with JavaScript API that allows you to create new ways to automate web testing. PhantomJS is currently being used by a large number of users to help them integrate headless web testing into their development processes. It also gives you developers a new framework to create web-based applications, from simple web manipulation to performance measurement and monitoring.

A step step-by by-step guide that will help you develop new tools for solving web and testing problems in an effective and quick way. The book will teach you how to use and maximize PhantomJS to develop new tools for web scrapping, web performance measurement and monitoring, and headless web testing. This book will help you understand PhantomJS’ scripting API capabilities and strengths.

This book starts by looking at PhantomJS’ JavaScript API, features, and basic execution of scripts. Throughout the book, you will learn details to help you write scripts to manipulate web documents and fully create a web scrapping tool.

Through its practical approach, this book strives to teach you by example, where each chapter focuses on the common and practical usage of PhantomJS, and how to extract meaningful information from the web and other services.

By the end of the book, you will have acquired the skills to enable you to use PhantomJS for web testing, as well as learning the basics of Jasmine, and how it can be used with PhantomJS.


A standard tutorial approach, as a complete guide detailing the major aspects of PhantomJS with particular focus on website testing.

Who this book is for

If you are a JavaScript developers who is interested in developing applications that interact with various web services, using a headless browser, then this book is ideal for you. This book will also be good for you if you are planning to create a headless browser testing for your web application. Basic understanding of JavaScript is assumed.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software