Getting Started with PhantomJS

Harness the strength and capabilities of PhantomJS to interact with the web and perform website testing with a headless browser based on WebKit

Getting Started with PhantomJS

Progressing
Aries Beltran

Harness the strength and capabilities of PhantomJS to interact with the web and perform website testing with a headless browser based on WebKit
$10.00
$29.99
RRP $17.99
RRP $29.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

+ Collection
Free Sample

Book Details

ISBN 139781782164227
Paperback140 pages

About This Book

  • 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

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.

Table of Contents

Chapter 1: Getting Started
Downloading PhantomJS
Building PhantomJS from source
Working with PhantomJS
PhantomJS JavaScript API
The phantom object
The command-line arguments
Writing PhantomJS scripts
Summary
Chapter 2: Manipulating Page Content
Opening a web page
Playing with DOM elements
Simulating mouse clicks
Working with form fields
Summary
Chapter 3: Handling Events and Callbacks
Listening to page events
Capturing alert messages
Answering prompt messages
Responding to confirm pop ups - OK or Cancel
Performing user events
Summary
Chapter 4: Capturing Errors
Handling PhantomJS errors
Capturing page script errors
Anticipating the page loading error
Exiting with error codes
Summary
Chapter 5: Grabbing Pages
Undocumented supported image format
Screenshot dimensions
Saving web pages as PDFs
Summary
Chapter 6: Accessing Location-based Services
Checking a location based on IP address
Getting driving directions
Looking up for pizza delivery establishments
Summary
Chapter 7: Working with Files
PhantomJS FileSystem API
Reading files
Writing files
Character encoding
Summary
Chapter 8: Cookies
Reading cookies
Baking some cookies
Deleting cookies
Keeping cookies
Summary
Chapter 9: External JavaScript
Modules
Using the object-oriented modules
Using third-party JavaScript libraries
Summary
Chapter 10: Testing with PhantomJS
What is unit testing?
Unit testing with Jasmine
Summary
Chapter 11: Maximizing PhantomJS
CasperJS
GhostDriver
Screenshots, web metrics, and more
Summary

What You Will Learn

  • 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.

Authors

Table of Contents

Chapter 1: Getting Started
Downloading PhantomJS
Building PhantomJS from source
Working with PhantomJS
PhantomJS JavaScript API
The phantom object
The command-line arguments
Writing PhantomJS scripts
Summary
Chapter 2: Manipulating Page Content
Opening a web page
Playing with DOM elements
Simulating mouse clicks
Working with form fields
Summary
Chapter 3: Handling Events and Callbacks
Listening to page events
Capturing alert messages
Answering prompt messages
Responding to confirm pop ups - OK or Cancel
Performing user events
Summary
Chapter 4: Capturing Errors
Handling PhantomJS errors
Capturing page script errors
Anticipating the page loading error
Exiting with error codes
Summary
Chapter 5: Grabbing Pages
Undocumented supported image format
Screenshot dimensions
Saving web pages as PDFs
Summary
Chapter 6: Accessing Location-based Services
Checking a location based on IP address
Getting driving directions
Looking up for pizza delivery establishments
Summary
Chapter 7: Working with Files
PhantomJS FileSystem API
Reading files
Writing files
Character encoding
Summary
Chapter 8: Cookies
Reading cookies
Baking some cookies
Deleting cookies
Keeping cookies
Summary
Chapter 9: External JavaScript
Modules
Using the object-oriented modules
Using third-party JavaScript libraries
Summary
Chapter 10: Testing with PhantomJS
What is unit testing?
Unit testing with Jasmine
Summary
Chapter 11: Maximizing PhantomJS
CasperJS
GhostDriver
Screenshots, web metrics, and more
Summary

Book Details

ISBN 139781782164227
Paperback140 pages
Read More