Note: The release notes are still being worked on, more information may become available in the next few days. Please bear with us!
PhantomJS 1.8, Blue Winter Rose, was released on December 21, 2012. It integrated Ghost Driver, an implementation of WebDriver Wire Protocol.
WebDriver support via Ghost Driver integration
Ghost Driver, a project by
Ivan De Marino, is an implementation
of WebDriver Wire Protocol.
In this PhantomJS release, Ghost Driver functionalities have been fully integrated.
To launch PhantomJS in Remote WebDriver mode at the intended PORT
number:
phantomjs --webdriver=PORT
The following example, written in Ruby, assumes PhantomJS WebDriver is running on port 9134
.
The script will load Google, submit a search for the term "PhantomJS" and print the page title
of the search result page:
require "selenium-webdriver"
driver = Selenium::WebDriver.for(:remote, :url => "http://localhost:9134")
driver.navigate.to "http://google.com"
element = driver.find_element(:name, 'q')
element.send_keys "PhantomJS"
element.submit
puts driver.title
driver.quit
Bindings for your favourite programming language can be found in Selenium >= 2.27:
Language Binding |
Status |
Java |
Available |
C#/.Net |
Available |
Python |
Available |
Ruby |
Available |
PHP |
Work in progress |
NOTICE: Language bindings are provided by kind members of the Selenium community.
Issues related to those should be
reported to Selenium project.
PhantomJS
solely implements the Wire Protocol and it is not responsible for any/possible
binding malfunctions.
More details can be found in
this blog post.
Also, make sure you check the documentation of Selenium WebDriver.
New features
- Integrated GhostDriver as the WebDriver implementation (issue 49)
- Added an option to specify the SSL protocol (issue 174)
- Added encoding support for WebServer's response (issue 505)
- Added process ID (PID) to the System module (issue 769)
- Added properties to obtain page and frame title (issue 799)
- Added page navigation methods (issue 808)
- Added a limit for authentication attempts (issue 826)
- Added support for modifier keys in keyboard events (issue 835)
- Added onFilePicker callback for more generic file upload API (issue 843)
- Added the ability to set the page content and location (issue 909)
Improvements
- Fixed date parsing in ISO8601 format (issue 187, 267)
- Fixed window.location (issue 530, 632)
- Deregistered multiple callback handler (issue 807)
- Fixed sending of double-click events (issue 848)
- Increases maximum number of redirects (issue 849)
- Fixed keycodes sent for lowercase characters (issue 852)
- Fixed a regression in table row page break (issue 880)
- Completed the CoffeeScript version of the examples (issue 907)
- Updated Qt to version 4.8.4 (issue 918)
- Fixed potential hang in some example scripts (issue 922)
Fix in 1.8.1
- Mac OS X: Fix possible crash when using some TrueType fonts (issue 690)
Known Issues on Microsoft Windows
- Very slow network performance. The workaround is to set proxy type to "none" (issue 580)
- Some graphics drivers may cause mysterious crash (issue 845)
Back to all releases.