All notable changes to this project will be documented in this file.
phantomOptions
option for passing arbitrary PhantomJS CLI options - thanks @fabiocorneti- Support for per-action timeouts on
.waitFor
type actions - thanks @piercus
.boundingRectangle()
sometimes not using jQuery when it could - thanks @robsgreen.evaluate()
sometimes failing due to an utilized internal variable - thanks @robertpallas
- Removed
clientScripts
option (it had no effect anyways)
diskCache
anddiskCachePath
options - thanks @efernandesng
Republish 3.1.0 without unwanted files which broke Windows installation
- .plainText() action - thanks @mzhangARS
- Removed
port
constructor option (it no longer had any effect)
- .injectJs() now properly rejects when it fails
- #158 - bug with
injectBluebird
option
- Support for adding custom actions via
Horseman.registerAction
- .closeTab() action removes a tab and closes its page
- tabClosed event fired when a tab is closed (by .closeTab() or something else)
- .frameName() action
- .frameCount() action
- .frameNames() action
- .switchToFocusedFrame() action
- .switchToFrame() action
- .switchToMainFrame() action
- .switchToParentFrame() action
- .download() action allows getting the raw contents of a URL (even works for binary files is using PhantomJS 2 or newer)
- .log() now preserves resolution value of previous action
- More output added to verbose debugging
- More readable stack traces from .evaluate() rejections (especially with long stack traces on)
- Occasional bug with returning undefined in .evaluate() function
- .switchToChildFrame() action is deprecated since PhantomJS deprecated it
- bluebird 3 functions are now chainable with Horseman actions
- Support for callback/Promises in .evaluate() functions
- .at() action allows registering callbacks to run in PhantomJS JavaScript environment (see Reame for details)
- .setProxy() action allows changing Phantom's proxy settings (requires PhantomJS 2.0.0 or newer)
- .includeJs() action allows injecting JavaScript from a URL
- .put() action
- Support for SlimerJS as well as PhantomJS - thanks @w33ble
- Support for PhantomJS remote debugger - thanks @dustinblackman
- Support for reading cookies.txt files
- Options for injecting bluebird into each page for using Promises in browser
- Option for automatically switching to newly opened tabs
- Option for more verbose debug
- Horseman Promises now reject on error
- Waiting actions now reject on timeout (timeout callback is still called too)
- Phantom's reourceTimeout now set to match Horseman's timeout
- Horseman will use Phantom from the phantomjs-prebuilt/phantomjs npm packages if installed (still overridden by phantomPath option)
- .open() now rejects on fail - thanks @w33ble.
- .crop() now works with zoomFactor other than 1 - thanks @wong2.
- .waitForSelector() now uses JQuery for selectors (when avialable)
- navigationRequested callback now called with correct parameters - thanks @grahamkennery.
- Tabs/pages not opened by Horseman (e.g. by a link) are now correctly added to Horseman's list of tabs
- bluebird dependency to 3.0.1
- node-phantom-simple dependency to 2.2.4
- clone dependency to 1.0.2
- #74 - do not try to exit PhantomJS when it failed to initialize
- .upload() now works in PhantomJS 1.x line (still broken in 2.x line) - thanks @flashhhh
- logging for falsy arguments - thanks @awlayton
- .cropBase64(). Thanks @jeprojects!
- node-phantom-simple dependency to version 2.1.0.
- Updated readme with examples on how to set header/footer contents.
- If an exception was thrown, close() wouldn't get called. Merged #58. Thanks @awlayton!
- Makes promise functions (like then, catch, tap) chainable with the rest of Horseman actions. Merges #57. Thanks @awlayton!
- .close() is now chainable. Updated readme with examples.
- .log(). Closes #54.
- .viewport() wasn't returning the actual viewport size.
- .do(). Closes #53.
- Support for multiple tabs. Closes #49.
- .status(). Returns the HTTP status code from the last opened page.
.waitFor
bug fix. Closes #45.
.crop()
. Closes #51.
- API is chainable again, thanks to @awlayton. Addresses #46.
waitForNextPage
was broken. Fixes #44 (thanks @edge)
- Moved to
node-phantom-simple
2.0.4.
- Complete API rewrite to use Promises.
- Removed dependency on
deasync
. - Tab support removed, will add back in the future.
- #39. Upgraded to node-phantom-simple 2.0.3.
- Upgraded to node-phantom-simple 2.0.2. Close #37.
- Upgraded to Mocha 2.2.5 to remove "child_process: customFds option is deprecated, use stdio instead" message when testing.
- Edited this document to reflect actual release dates from 1.4.1 - present.
- Merges #36 - Setting via horseman.value( newVal ) now fires a change event. Thanks @fpinzn.
- Fix #27 & 33 - .cookies() wasn't returning a list of cookies for the current page. Now fixed.
- Fix #30 - crop() now chainable. Thanks @jackstrain.
- Readme issue
- switchToChildFrame() (issue #18, thanks @easyrider)
- Readme issue
- keyboardEvent function
- mouseEvent function
- exposed
phantomPath
instantiation option
- status function.
- post function.
- Updated documentation to address issues #12 and #14.
- Forgot to merge cookiesFile branch :(
- Exposes
cookiesFile
option. (Issue #8).
- Removed
weak
option from Readme.md (issue #10). - Fixed horseman.close() bug. (issue #11)
- Copyright years in LICENSE (thanks @fay-jai)
- .waitForSelector() text in Readme.me (issue #7. thanks @bchr02)
- tabCount function.
- switchToTab function.
- openTab function.
- tabCreated event.
- Phantom options, like
loadImages
were not being honored in 1.2.1.
- Swapped out
phantom
fornode-phantom-simple
to fix some performance issues (see issue #6). This a major change internally, but does not change the API and all tests are passing.
- zoom function.
- pdf function.
- scrollTo function.
- headers function.
- screenshotBase64 function.
- CHANGELOG.md