e185a5c2b6
The script now copies all required shared libraries found via ldd to the deployment folder. Furthermore, a run-script is created that runs the phantomjs binary through the copied build-host's ld-linux.so to ensure all symbols are properly resolved. Last but not least, we now include a very slightly modified brandelf.c from FreeBSD. This version can be compiled on Linux machines and is used to change the ELF ABI of the binary and libs in the deployment folder, such that they all use the old SYSV OS ABI for compatibility. Usage: $ package-linux-dynamic.sh $ scp phantomjs-$version.tar.bz2 yourhost $ ssh yourhost $ tar -xf phantomjs-$version.tar.bz2 $ ./phantomjs-$version/phantomjs.sh CC ISSUE: 413 (http://code.google.com/p/phantomjs/issues/detail?id=413) (proper static build would still be desirable eventually if possible) |
||
---|---|---|
bin | ||
debian | ||
deploy | ||
examples | ||
src | ||
test | ||
tools | ||
website | ||
.gitignore | ||
ChangeLog | ||
LICENSE.BSD | ||
README.md | ||
build.sh | ||
phantomjs.pro |
README.md
PhantomJS - Scriptable Headless WebKit
PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript or CoffeeScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow.
The latest stable release is version 1.5 (codenamed "Ghost Flower"). Follow the official Twitter stream @HeadlessPhantom to get the frequent development updates.
PhantomJS is created and maintained by Ariya Hidayat (Twitter: @ariyahidayat), with the help of many contributors.
Use Cases
-
Headless web testing. Lightning-fast testing without the browser is now possible! Various test frameworks such as Jasmine, Capybara, QUnit, WebDriver, YUI Test, BusterJS, FuncUnit, Robot Framework, and many others are supported.
-
Site scraping. Access and manipulate webpages with the standard DOM API, or with usual libraries like jQuery.
-
Page rendering. Capture the full contents, even with SVG and Canvas, to an image. Build server-side web graphics apps, from a screenshot service to a vector chart rasterizer.
-
Network monitoring. Monitor network activity, track resource loading, perform load-balancing tests, verify contents optimization, and many others.
Features
- Multiplatform, available on major operating systems: Windows, Mac OS X, Linux, other Unices.
- Fast and native implementation of web standards: DOM, CSS, JavaScript, Canvas, SVG. No emulation!
- Pure headless (X11) on Linux, ideal for continuous integration systems. Also runs on Amazon EC2.
- 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.
and many others companion projects.
Questions?
- Explore the complete documentation.
- Read tons of user articles on using PhantomJS.
- Join the mailing-list and discuss with other PhantomJS fans.