Commit Graph

1979 Commits

Author SHA1 Message Date
Andrey Lushnikov
41fd4b529e chore(doclint): move doclint tests expectations into test folders ()
This makes for much easier work with doclint tests.
2017-10-02 11:37:16 -07:00
Vse Mozhet Byt
f9640a5498 chore(doc): add a note about using ElementHandle instances () 2017-10-01 15:47:40 -07:00
mizdra
215b3497c7 fix(Page): remove event listeners to avoid MaxListenersExceededWarning
This patch starts to properly clean up event listeners on a failed navigation (Page.goto).
2017-09-30 00:50:13 -07:00
Adi Prasetyo
53531c9a92 feat(page): Allow Page.goto's timeout to be 0 to disable timeout ()
This patch allows passing 0 to disable timeout for the following methods:

- page.goto
- page.waitForNavigation
- page.goForward
- page.goBack

Fixes .
2017-09-30 00:29:38 -07:00
mizdra
bafd937fc3 chore(tests): fix a few typos in tests () 2017-09-29 15:27:02 -07:00
Pavel Feldman
a6cf8237b8 feat(Launcher): introduce appMode option
The patch introduces a new appMode option to the launcher. This is an experimental
option, thus we don't document it.
2017-09-29 15:16:32 -07:00
Vse Mozhet Byt
1c292e9253 chore(doc): fix browser.wsEndpoint() return value format () 2017-09-29 14:59:19 -07:00
Andrey Lushnikov
c46c41d89c fix(Launcher): Launcher should handle chrome process errors ()
Fixes 
2017-09-29 12:21:24 -07:00
Andrey Lushnikov
cb280c526d fix(Launcher): Terminate chrome gracefully on Windows ()
This patch starts using taskkill program on windows to gracefully
terminate chrome.

Note: this slows down chrome shutdown on Windows in case of using
custom userDataDir. This is because chrome takes some time to shutdown
its operations and leave profile directory in a consistent state.

Fixes .
2017-09-29 11:41:11 -07:00
Andrey Lushnikov
f6255029bd feat(Console): Introduce ConsoleMessage type ()
This patch introduces ConsoleMessage type and starts dispatching
it for the 'console' event.

BREAKING CHANGE: this breaks the api of the 'console' event.

Fixes .
2017-09-29 11:27:22 -07:00
Andrey Lushnikov
cfece3451d fix(Network): Do not attempt to normalize malformed URLs. ()
This patch avoids throwing 'url malformed' error during generating
request hash for request interception.

Fixes .
2017-09-29 08:29:19 +09:00
Eric Bidelman
ec760ab5e3 chore: update yarn lock () 2017-09-27 19:33:16 +09:00
Andrey Lushnikov
72161c475d [roll] Roll chromium to r503964 ()
This patch rolls chromium to r503964.

Note: since the plznavigate is not supported by puppeteer right now, the
patch also starts passing the `--disable-browser-side-navigation` flag.
This is a temporary work around for us.

References .
2017-09-27 10:37:31 +09:00
Jake Ginnivan
0164b7cc4e Added info on how to find the browserWSEndpoint () 2017-09-26 07:04:09 -07:00
Andrey Lushnikov
9b0a06216e [docs] clarify env variables usage with npmrc 2017-09-26 11:15:18 +09:00
gordomium
2babcb0021 [feat] Support PUPPETEER_SKIP_CHROMIUM_DOWNLOAD in npmrc
This patch adds support for PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
variable in npm config.

This aligns the variable with the rest of supported environment variables.
2017-09-26 11:10:46 +09:00
Alix Axel
45f264024b [api] Introduce Page.select method ()
This patch adds `Page.select` method to select
values in a `select` tag.
2017-09-25 18:23:34 +09:00
Vse Mozhet Byt
acdb588964 doc: fix a link () 2017-09-22 16:16:52 -07:00
Eric Bidelman
ccf8fb1681 readme: add try-puppeteer link () 2017-09-21 18:01:48 -07:00
Eric Bidelman
c2b3fe91ed Remove --no-sandbox from Docker example ()
* Remove --no-sandbox from Docker example

* Update troubleshooting.md
2017-09-21 09:18:35 -07:00
Andrey Lushnikov
bc4aefaf9f Bump version to 0.12.0-alpha 2017-09-21 15:08:39 +09:00
Andrey Lushnikov
433b17b5d2 Mark version 0.11.0 2017-09-21 14:43:21 +09:00
Vse Mozhet Byt
715296443c Document headless mode restriction for PDF ()
Fixes: https://github.com/GoogleChrome/puppeteer/issues/830
2017-09-20 16:51:25 -07:00
Adi Prasetyo
611f51bda5 [doc] Fix thal link ()
This patch adds missing protocol to the link in example's README.md
2017-09-18 06:53:36 -07:00
cohesively
aa58f25bc1 doc: add await to browser.close in usage examples ()
browser.close returns a promise after f398e69, so it should be awaited.
2017-09-15 21:27:14 -07:00
JoelEinbinder
e2cad568d6 page.waitFor should send ...args to page.waitForFunction ()
This lets the user pass `...args` into `page.waitFor`. It also clarifies that the docs that `options` is not optional if `...args` are specified.

Fixes 
2017-09-15 14:28:15 -07:00
Andrey Lushnikov
d562db3140 Assert that all extra HTTP header values are strings ()
Since protocol ignores all HTTP headers that don't have string
value, this patch starts validating header key-values before
sending them over the protocol.

Fixes .
2017-09-14 19:08:48 -07:00
Andrey Lushnikov
86b05dadd5 disable extensions and google translate by default ()
This patch teaches `puppeteer.launch` to run chromium with disabled
chrome extensions and google translate services.

References 
2017-09-14 19:07:22 -07:00
Adi Prasetyo
a20df0df62 [Doc] add link to environment variable wiki page () 2017-09-14 11:44:18 -07:00
Andrey Lushnikov
166c909ab2 [tests] fix a few tests to avoid unhandled promise rejection ()
A few tests were not waiting for navigation to complete.
2017-09-13 22:52:43 -07:00
JoelEinbinder
f398e69dbb [api] Launcher: Close gracefully when a userDataDir is specified ()
This patch:
- makes `browser.close()` return a promise that resolves when browser gets closed
- starts closing chrome gracefully if a custom `userDataDir` is supplied

Fixes 
2017-09-13 21:27:14 -07:00
Andrey Lushnikov
d7e673645a [api] add Puppeteer.executablePath() method ()
This patch adds Puppeteer.executablePath() method to query the path
of bundled chromium.

Fixes 
2017-09-13 17:39:18 -07:00
JoelEinbinder
89e923d5f0 Fix cookies test on windows ()
The `username` and `password` cookies showed up in the wrong order on Windows, causing the test to fail.
2017-09-13 17:30:25 -07:00
Andrey Lushnikov
010872012f Cleanup tests ()
This patch:
- cleans up a bunch of try-catch statements in favor of a concise pattern
- renames "Browser" test suite into "Puppeteer" test suite
2017-09-13 12:06:57 -07:00
Jon Tewksbury
9779085b7c Add info about deploying puppeteer to Heroku () 2017-09-12 09:54:30 -07:00
Andrey Lushnikov
9292a56eaf [api] Teach page.evaluate to accept element handles as parameters ()
This patch:
- teaches `page.evaluate` to accept ElementHandles as parameters
- removes `ElementHandle.evaluate` method since it's not needed any
  more

References 
2017-09-11 19:20:02 -07:00
Andrey Lushnikov
69e707a2b7 Build node6 before running tests for it ()
Fix 
2017-09-11 18:03:51 -07:00
Andrey Lushnikov
a71f287c6b Fix evaluation in case of first "undefind" argument ()
It turns out that [undefined, 1].join(',') results in ",1" instead
of "undefined,1". This causes a syntax error when trying to pass undefined
as a first argument to `page.evaluate` method.

Fixes .
2017-09-11 16:59:38 -07:00
Andrey Lushnikov
e5c17eecb9 Carefully manage unhandled rejections for navigation ()
Currently, navigation watcher throws exception if timeout
is exceeded.

Due to the way it is used in `page.navigate`, the promise
get's rejected before it is awaited, which is considered to
be "unhandled promise rejection".

Fixes 
2017-09-11 16:43:37 -07:00
Andrey Lushnikov
0db6165d73 [api] Implement page.authenticate method ()
This patch implements `page.authenticate` which should cover all
cases of HTTP authentication.

Fixes .
2017-09-11 16:32:13 -07:00
Andrey Lushnikov
0bea42bd8c Do not leave dangling promises when sending messages over protocol ()
It's very bad to have 'unhandled promise rejection' that can't be
handled in user code. These errors will exit node process in a near
future.

This patch avoids 'unhandled promise rejection' while sending protocol
messages.

This patch:
- introduces `puppeteer:error` debug scope and starts using it for all
  swalloed errors.
- makes sure that every `client.send` method is either awaited or its
  errors are handled.
- starts return promises from Request.continue() and Request.abort().
- starts swallow errors from Request.contine() and Request.abort().

The last is the most important part of the patch. Since
`Request.continue()` might try to continue canceled request, we should
disregard the error.

Fixes .
2017-09-11 16:21:51 -07:00
Eric Bidelman
f11e09d0d4 resources.md -> readme.md so it renders on /examples ()
* resources.md -> index.md so it renders on /examples

* Rename index.md to README.md
2017-09-11 11:41:48 -07:00
Alessio Occhipinti
568b7bd47d Proposal: adding RESOURCES.md for examples ()
* Create RESOURCES.md

* Update RESOURCES.md
2017-09-11 11:34:06 -07:00
Eric Bidelman
30541cc087 block-images example: use reuters.com ()
Due to https://github.com/GoogleChrome/puppeteer/issues/746. The screenshot news.google.com isn't "full page", so that may be confusing to folks.
2017-09-11 10:16:57 -07:00
Andrey Lushnikov
c4a3d44221 Roll chromium to r499413 ()
The new chromium:
- supports executionContextId in Runtime.callFunctionOn protocol method
- supports passing objects as arguments in Runtime.callFuntionOn
  protocol method

This roll also fixes .
2017-09-09 09:48:09 -07:00
Andrey Lushnikov
d791583ae5 [tests] Skip flaky test ()
Reference 
2017-09-08 23:42:06 -07:00
Andrey Lushnikov
b8bb80a089 support npm proxy configuration for the installation script ()
This patch starts supporting NPM proxy configuration in the installation script.
If both NPM proxy and environment proxy are set, NPM proxy settings are preferred.

Fixes 
2017-09-08 23:37:22 -07:00
Eric Bidelman
8d2a427eee Docker example () 2017-09-08 15:25:43 -07:00
Andrey Lushnikov
113bdafbf0 Bump version to 0.11.0-alpha 2017-09-08 13:37:47 -07:00
Eric Bidelman
272fb4d993 block-images example: switch from bbc to news.google.com () 2017-09-07 12:35:52 -07:00