Commit Graph

922 Commits

Author SHA1 Message Date
Yaniv Efraim
189deb84c0 feat(Frame): add Frame.evaluateHandle (#1885)
This patch adds Frame.evaluateHandle method. The method is a shortcut
for frame.executionContext().evaluateHandle.

Fixes #1051
2018-01-24 21:16:01 -08:00
Alix Axel
5175d8e692 fix(Page): fix Page.select() behavior to be on par with docs (#1886)
This PR fixes lost functionality that is no longer on-par with the documentation for `Page.select`, namely:

> `...values` <...string> Values of options to select. If the `<select>` has the `multiple` attribute, all values are considered, **otherwise only the first one is taken into account**.

I've also added an accompanying test for this use case.
2018-01-24 21:12:27 -08:00
Bamboo
a39d96eae9 docs(api.md): fix sample code in API doc, request.url -> request.url() (#1889) 2018-01-24 21:09:37 -08:00
JoelEinbinder
f2b6016354 chore: switch to npm from yarn (#1878)
This patch:
- migrates CI to use NPM
- drops lockfiles (`yarn.lock`). Lockfiles are ignored by package
  managers when the package is installed as a dependency, so this makes CI closer to the 
  installation our clients run.
2018-01-22 17:11:10 -08:00
Abel Toledano
b61e67d001 feat: add slowMo option to puppeteer.connect (#1864)
This patch introduces a `slowMo` option to the `puppeteer.connect` method. The option
is similar to the one in `puppeteer.launch` and is used to slow down the connection.
2018-01-22 16:45:46 -08:00
Artem Sapegin
797b561013 docs(README): Update debugging tips (#1868) 2018-01-22 16:10:31 -08:00
Ram Dobson
cb684ebbc4 feat(Page): introduce Page.waitForXPath (#1767)
This patch:
- introduces `page.waitForXPath` method
- introduces `frame.waitForXPath` method
- amends `page.waitFor` to treat strings that start with `//` as xpath queries.

Fixes #1757.
2018-01-22 15:16:20 -08:00
Glenn Vandamme
62597bf897 docs(troubleshooting): Add fonts to docker example to support major charsets (#1842)
Fixes #1824.
2018-01-19 00:43:00 -08:00
Sakamoto, Kazunori
102f10cbc7 docs(api.md): Fix sample code in API doc (#1821)
Because `Request.url` is changed to `Request.url()`.
2018-01-18 21:39:50 -08:00
Vse Mozhet Byt
2bf42fd779 docs(troubleshooting): fix a link (#1845)
It seems without the full URL this link is not rendered correctly.
2018-01-18 21:20:16 -08:00
Sony AK
d2715d1c6f docs(api.md): fix typo on api docs (#1849) 2018-01-18 21:19:43 -08:00
Eric Bidelman
e031264231 docs(api): fix coverage example and typo (#1854) 2018-01-18 21:19:13 -08:00
Eric Bidelman
49d3799e32 docs(troubleshooting): add docker alpine example (#1836)
Fixes #1835, fixes #379
2018-01-17 22:01:31 -08:00
Ian Hunter
59f6d42610 feat: add Page.Events.DOMContentLoaded (#1730)
Fixes #1580
2018-01-16 23:22:44 -08:00
futpib
25b35c5789 docs(api.md): fix missing await in examples (#1801)
`frame.executionContext()` returns a Promise, so running examples without `await` results in exceptions
2018-01-16 16:59:00 -08:00
Sergii Rudenko
8c93084316 docs(examples/readme.md): Add one more link to the examples repository (#1807)
This patch adds link to the https://github.com/checkly/puppeteer-examples
2018-01-16 14:05:28 -08:00
Alix Axel
31a1f9ad70 docs(api.md): added page.click + waitForNavigation example (#1792)
Fixes #1421.
2018-01-12 11:41:26 -08:00
yujiosaka
c866c175f8 fix: page.goto should support pages with self requests (#1391) (#1781)
This patch fixes `page.goto` for websites that re-request document URL with javascript.

Fixes #1391.
2018-01-12 00:16:36 -08:00
Andrey Lushnikov
aed7019146
chore: bump version to 1.0.0-post (#1789) 2018-01-11 21:09:37 -08:00
Andrey Lushnikov
12b57e31f3
chore: mark version v1.0.0 (#1786) 2018-01-11 15:15:23 -08:00
Andrey Lushnikov
d68033aeca
chore(examples): indent all examples (#1783)
Indented examples are easier to read.
2018-01-11 13:42:01 -08:00
Eric Bidelman
891a5539bd docs(troubleshooting): add note on using ldd to find missing deps (#1780) 2018-01-11 12:20:57 -08:00
Eric Bidelman
9b06ed28ae docs(README): updates to make d.g.c/web/ happy (#1773)
Adds devsite's comment markers so we can pull sections of the readme into the site.
We lose a few syntax highlighting sections here on github, but everything looks great on developers.google.com!
2018-01-11 00:28:36 -08:00
Andrey Lushnikov
5368051610
feat: expose raw devtools protocol connection (#1770)
feat: expose raw devtools protocol connection

This patch introduces `target.createCDPSession` method that
allows directly communicating with the target over the
Chrome DevTools Protocol.

Fixes #31.
2018-01-10 19:33:22 -08:00
Radu Aron
ec8e40f1cb feat(Page): Add global navigation timeout setting (#1728)
This patch introduces `page.setDefaultNavigationTimeout` method to override the 
default 30 seconds navigation timeout.

Fixes #1514
2018-01-10 13:04:01 -08:00
Octavian Cioaca
3985dee54e docs(API): add more explicit examples for page.evaluate (#1711) 2018-01-09 23:05:52 -08:00
Andrey Lushnikov
9634d13be2
fix: requestInterception should play nicely with canceled redirects (#1758)
Since interception events and `loadingFailed` events come from
different processes and are not serialized, we might get `loadingFailed` event and a subsequent outdated `requestIntercepted`.

Short-term, this patch stops assuming that interception events are
aligned with `loadingFailed`.

Long-term, this will be resolved as @caseq completes network
servicification effort in chromium.

Fixes #880.
2018-01-09 22:59:21 -08:00
yujiosaka
f6b7c13316 chore(install): mention yarn along npm in the error message (#1759) 2018-01-09 21:56:04 -08:00
yujiosaka
c29822d663 feat: Attribute network requests to frames (#1646)
This patch introduces `request.frame()` method that returns the frame that
initiated request.

Fixes #1579
2018-01-09 18:47:21 -08:00
yujiosaka
5843f6f775 fix: setRequestInterception and setExtraHTTPHeaders not working together (#1734)
This patch starts lowering header keys while generating request hashes.

Fixes #1729.
2018-01-09 16:52:28 -08:00
Darío Kondratiuk
dcc1b24395 chore(Page): Add missing return comments in addScriptTag and addStyleTag (#1753) 2018-01-09 16:31:41 -08:00
刘祺
71089b0802 feat: teach Downloader to respect redirects (#1741)
This patch adds support for redirects to downloader.

Fixes #1740
2018-01-08 18:10:13 -08:00
刘祺
d7d9623740 fix: downloader host fault tolerance (#1739)
Strip trailing slashes from Downloader download host.
2018-01-08 18:08:27 -08:00
Kamakura Masaya
8c392b7ee8 docs(api.md): add missing parentheses after page.mainFrame (#1738) 2018-01-08 17:20:02 -08:00
Michael Stillwell
7c9104e1bc docs(README): add note on features not supported by Chromium (#1572) 2018-01-08 15:01:17 -08:00
JoelEinbinder
972f44d328 fix: avoid calling jsonValue from waitFor (#1746)
If the success value of `waitForFunction` was not serializable, checking whether it was truthy with `.jsonValue()` might fail. Now I check whether it was truthy inside the page.

Fixes #1737.
2018-01-08 14:14:41 -08:00
yujiosaka
8e9c54a789 feat: introduce browser.userAgent() (#1716)
The patch introduces browser.userAgent() method to retrieve
default browser user agent.

Fixes #1706.
2018-01-05 10:14:30 -08:00
JoelEinbinder
05b1aca21e feat: support JSHandles for page.waitFor* calls (#1712)
This patch:
- teaches page.waitFor* methods to accept JSHandles
- starts returning JSHandles from page.waitFor* calls. 

BREAKING CHANGE: this patch starts allocating `JSHandle`/`ElementHandle` instances for every call to `page.waitFor*` functions. These handles should be disposed manually to avoid memory consumption.

Fixes #1703, fixes #1654, fixes #1724.
2018-01-04 14:49:13 -08:00
Eric Bidelman
32a7fd5f37 docs(troubleshooting): add note on --disable-dev-shm-usage for Docker (#1603) 2018-01-04 13:52:13 -08:00
JoelEinbinder
ed3fc47069 test: don't show max listeners warning when running tests in parallel (#1722) 2018-01-04 12:08:35 -08:00
JoelEinbinder
e7eacd443f test: scrub port from coverage golden files (#1723) 2018-01-04 11:47:30 -08:00
Andrey Lushnikov
f0b11ad22e
test: verify serialization of "undefined" fields (#1721)
Fixes #1510.
2018-01-04 11:30:29 -08:00
Andrey Lushnikov
3481f03b80
feat(Chromium): roll Chromium to r526987 (#1720)
This roll includes:
- https://chromium-review.googlesource.com/c/v8/v8/+/834669
  [inspector] aligned Runtime.evaluate(returnValue:true) result with json

References #1510.
2018-01-04 10:54:57 -08:00
Andrey Lushnikov
0a498bae3a
docs: update api.md
This patch clarifies when the "disconnected" event is emitted
and emphasizes the difference between Chromium and browser.

References #1589.
2018-01-04 02:27:57 -08:00
Andrey Lushnikov
24354a4879
feat: implement CSS Coverage (#1714)
This patch adds two new methods to the `page.coverage` namespace:
- `page.coverage.startCSSCoverage()` - to initiate css coverage
- `page.coverage.stopCSSCoverage()` - to stop css coverage

The coverage format is consistent with the JavaScript coverage.
2018-01-03 18:21:40 -08:00
JoelEinbinder
f183664d0f feat: rename page.xpath into page.$x, return an array of elements (#1713)
Fixes #1705.
2018-01-03 15:37:08 -08:00
Andrey Lushnikov
d062381978
feat: Implement JavaScript Coverage (#1673)
This patch introduces a new `page.coverage` namespace with two methods:
- `page.coverage.startJSCoverage` to initiate JavaScript coverage
  recording
- `page.coverage.stopJSCoverage` to stop JavaScript coverage and get
  results
2018-01-02 19:53:53 -08:00
JoelEinbinder
bd73e4b7b8 chore: use unique version for puppeteer@next (#1688)
This patch starts amending package.json with a unique puppeteer@next version
so that it gets published on npm.
2017-12-28 17:19:13 -08:00
Andrey Lushnikov
05f4f943f0
test: add server/run.js that runs assets locally (#1687) 2017-12-28 15:51:41 -08:00
Andrey Lushnikov
508a78d99b
test: prohibit focused tests/suites on bots (#1686) 2017-12-28 15:41:57 -08:00