(FORK, works with unmodified Qt 5.3) Scriptable Headless WebKit
 
 
 
 
 
 
Go to file
Zack Weinberg e8cddbfe7b Enable support for modern SSL (#12524).
* --ssl-protocol= option now accepts 'tlsv1.2', 'tlsv1.1', 'tlsv1.0'
   and 'default' as well as the existing 'tlsv1', 'sslv3', and 'any'.

 * The default is now none of the above, but rather QSsl::SecureProtocols,
   which means "whatever subset of ANY is still considered secure and also
   supported by the OpenSSL library in use".  (As of this writing, Qt's idea
   of "still considered secure" includes everything from SSLv3 on up, which
   is technically wrong -- SSLv3 has known breaks -- but we can live with.
   Qt currently doesn't have a way to select "TLSv1.0 and up".)
2014-08-30 20:49:38 -04:00
deploy Vagrant setup: Don't clone PhantomJS into Git build directory. 2013-01-09 01:03:27 -08:00
examples run-jasmine example: Ensure exit code is always returned. 2014-08-20 20:56:15 -07:00
rpm Add missing RPM spec file names; update changelog. 2014-04-22 21:38:38 -07:00
src Enable support for modern SSL (#12524). 2014-08-30 20:49:38 -04:00
test Port the tests of 'system' module. 2014-08-27 22:57:13 -07:00
tools Remove misc references to CoffeeScript. 2014-08-19 20:37:06 -07:00
.gitignore Update .gitignore for Qt 5.3. 2014-08-19 07:20:48 -07:00
.travis.yml Travis CI: Get more dependencies for building Qt 5. 2014-07-28 06:51:35 -07:00
CONTRIBUTING.md CONTRIBUTING.md: convenient => confident 2013-08-15 12:05:41 +02:00
ChangeLog ChangeLog for 1.9.7. 2014-07-30 01:29:20 -07:00
LICENSE.BSD Long live PhantomJS! 2010-12-26 19:49:33 -08:00
README.md Remove misc references to CoffeeScript. 2014-08-19 20:37:06 -07:00
build.cmd Add build script for Windows 2014-08-18 23:35:27 +04:00
build.sh Explicitly suppress video and audio when building QtWebkit. (#12518) 2014-08-30 07:02:21 -07:00
phantomjs.pro Import the old, working prototype. 2010-12-26 20:15:19 -08:00
third-party.txt Remove GIF format for screen capture export (render). 2014-08-23 09:20:20 -07:00

README.md

PhantomJS - Scriptable Headless WebKit

PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow.

The latest stable release is version 1.9 (codenamed "Sakura"). Follow the official Twitter stream @PhantomJS to get the frequent development updates.

Note: Please do not create a GitHub pull request without reading the Contribution Guide first. Failure to do so may result in the rejection of the pull request.

Use Cases

  • Headless web testing. Lightning-fast testing without the browser is now possible! Various test frameworks such as Jasmine, Capybara, QUnit, Mocha, WebDriver, YUI Test, BusterJS, FuncUnit, Robot Framework, and many others are supported.
  • Page automation. Access and manipulate web pages with the standard DOM API, or with usual libraries like jQuery.
  • Screen capture. Programmatically capture web contents, including CSS, SVG and Canvas. Build server-side web graphics apps, from a screenshot service to a vector chart rasterizer.
  • Network monitoring. Automate performance analysis, track page loading and export as standard HAR format.

Features

  • Multiplatform, available on major operating systems: Windows, Mac OS X, Linux, and other Unices.
  • Fast and native implementation of web standards: DOM, CSS, JavaScript, Canvas, and SVG. No emulation!
  • Pure headless (no X11) on Linux, ideal for continuous integration systems. Also runs on Amazon EC2, Heroku, and Iron.io.
  • Easy to install: Download, unpack, and start having fun in just 5 minutes.

Ecosystem

PhantomJS needs not be used only as a stand-alone tool. Check also some excellent related projects:

  • CasperJS enables easy navigation scripting and common high-level testing.
  • Poltergeist allows running Capybara tests headlessly.
  • Guard::Jasmine automatically tests Jasmine specs on Rails when files are modified.
  • GhostDriver complements Selenium tests with a PhantomJS WebDriver implementation.
  • PhantomRobot runs Robot Framework acceptance tests in the background via PhantomJS.
  • Mocha-PhantomJS run Mocha tests using PhantomJS.

and many others related projects.

Questions?

PhantomJS is free software/open source, and is distributed under the BSD license. It contains third-party code, see the included third-party.txt file for the license information on third-party code.

PhantomJS is created and maintained by Ariya Hidayat (Twitter: @ariyahidayat), with the help of many contributors.