Commit Graph

773 Commits

Author SHA1 Message Date
Mathias Bynens
18143b3573
chore(release): mark v5.5.0 (#6604) 2020-11-16 14:38:50 +01:00
ghoussard
d606b8076f
docs(troubleshooting): update dumb-init version (#6585)
The latest released version of dumb-init is 1.2.2. Binary naming has changed: `dumb-init_x.x.x_amd64` became `dumb-init_x.x.x_x86_64`.
2020-11-05 07:49:20 +01:00
Mathias Bynens
f8cd6c4cce
chore: automate Chromium => Puppeteer version listing (#6558)
Issue: #6482
2020-10-29 22:24:35 +01:00
Mathias Bynens
8bc8a76c89
docs(api): expand registerCustomQueryHandler example (#6557)
This patch makes it easier to see exactly how to use the registerCustomQueryHandler API without having to follow the trail of breadcrumbs throughout the docs.
2020-10-29 15:22:03 +01:00
Jack Franklin
d3d7cb92eb
chore: mark v5.4.1-post (#6553) 2020-10-27 16:07:36 +00:00
Jack Franklin
562c9c2723
chore: mark version 5.4.1 (#6552) 2020-10-27 15:05:43 +00:00
Maciej Brencz
8f4a79e193
docs(troubleshooting): update Alpine Chromium version (#6529)
The latest Chromium provided by Alpine is at version 85.
2020-10-27 15:26:43 +01:00
Vse Mozhe Buty
a2175c6fdc
docs(queryhandler): fix link (#6543) 2020-10-26 11:25:19 +01:00
Johan Bay
d787865066
chore: bump version to v5.4.0-post (#6544) 2020-10-26 08:27:40 +01:00
Johan Bay
729cdfe98a
chore: mark version v5.4.0 (#6542) 2020-10-23 16:28:38 +02:00
Vse Mozhe Buty
75e3fb035b
docs(api): fix some outdated links (#6450) 2020-09-28 18:26:08 +02:00
Yang Guo
96f3d439f5
feat(console): expose stack trace for console messages (#6445) 2020-09-25 15:27:13 +02:00
Maksim Sadym
1396c9d4cd
chore: bump version to v5.3.1-post (#6440) 2020-09-23 11:28:08 +02:00
Maksim Sadym
c7d32cb92f
chore: mark version v5.3.1 (#6439) 2020-09-22 12:49:28 +02:00
Maksim Sadym
17960e5d8d
feat(page): emulate idle state (#6410)
* https://bugs.chromium.org/p/chromium/issues/detail?id=1090802
* added `page.emulateIdleState(...)` allowing emulate or remove emulation of the idle state;
* added test `emulate idle` -> `remove emulation` -> `emulate idle` -> `remove emulation`;
* added launch argument `--enable-blink-features=IdleDetection` to turn IdleDetection on.
2020-09-14 11:31:23 +02:00
Maksim Sadym
03e41da465
chore: bump version to v5.3.0-post (#6413) 2020-09-14 10:17:05 +02:00
Maksim Sadym
030fcaa075
chore: mark version v5.3.0 (#6412) 2020-09-11 10:43:09 +02:00
Prashant Ghimire
35cfbe1857
docs(troubleshooting.md): updated commands (#6296)
prior command installs stable version of chrome (RUN command), but after that, the docs is referring to unstable version.
added correct commands for troubleshooting in linux environment.
2020-09-09 14:39:32 +01:00
lcabral37
13ea347c7d
feat: support configuring the browser download path (#6014)
By adding support for an environment variable `PUPPETEER_DOWNLOAD_PATH` it is possible to support downloading the browser binaries into a folder outside the `node_modules` folder. This makes it possible to preserve previously downloaded binaries in order to skip downloading them again.
2020-08-10 10:37:31 +02:00
Clay Walker
b4c1e45388
docs: fix setuid sandbox link (#6310)
Minor documentation fix.
2020-08-10 10:34:09 +02:00
Maciej Brencz
142f88c7c4
docs(troubleshooting): update Alpine Chromium version (#6320)
The newest Chromium package is now using version 83, which corresponds to Puppeteer v3.1.0.
2020-08-10 07:44:22 +02:00
Hugo Des
1d08e274a8
docs(troubleshooting.md) fix error in docker guidelines (#6267) 2020-07-29 12:14:06 +01:00
Jack Franklin
21552f8fe7
feat: page.waitForTimeout (#6268) 2020-07-28 10:37:49 +02:00
Jaroslav Maslo
a47b556155
docs(api): fix typo in elementHandle.evaluateHandle() (#6276) 2020-07-27 08:14:19 +02:00
Johan Bay
e3933ddd82
chore: mark 5.2.1-post (#6257) 2020-07-21 16:24:07 +01:00
Johan Bay
4ee4649de6
chore: mark v5.2.1 (#6254) 2020-07-21 14:53:02 +02:00
Mathias Bynens
040f37ec5d docs: fix link text
Closes #6245.
2020-07-20 07:25:09 +02:00
Adrian Wisernig
2331584467
docs(troubleshooting): install libXss in Dockerfile (#6236)
The new version of chromium requires libxss.
2020-07-17 13:54:37 +01:00
Jack Franklin
042c4a23d7
chore: mark 5.2.0-post (#6240) 2020-07-17 14:48:14 +02:00
Jack Franklin
028f144256
chore: mark v5.2.0 (#6238) 2020-07-17 13:44:29 +02:00
Christian Bromann
82645e85c7
docs: better describe how to install Firefox Nightly with Puppeteer (#6226)
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2020-07-16 14:28:09 +02:00
Riccardo Magliocchetti
fb806109a0
docs(troubleshooting): drops obsolete dependencies (#5354)
It looks like chromium dropped gconf in 2017, while at it remove some other libs from the gtk2 era and bump libappindicator to a gtk3 version.

Current dependencies list for chromium 79 used as reference: https://chromium.googlesource.com/chromium/src.git/+/refs/tags/79.0.3945.144/build/install-build-deps.sh#232
2020-07-14 13:29:15 +02:00
Changhao Han
8d6e0d8a79
chore: mark version to v5.1.0-post (#6208) 2020-07-13 10:43:46 +02:00
Changhao Han
8fa18aef99
chore: mark version v5.1.0 (#6206)
Co-authored-by: Changhao Han <changhaohan@chromium.org>
2020-07-13 10:25:14 +02:00
Jack Franklin
31309b0e20
chore: use devtools-protocol package (#6172)
* chore: Use devtools-protocol package

Rather than maintain our own protocol we can instead use the devtools-protocol package and pin it to the version of Chromium that Puppeteer is shipping with.

The only changes are naming changes between the bespoke protocol that Puppeteer created and the devtools-protocol one.
2020-07-10 11:51:52 +01:00
Jack Franklin
b9667f9331
chore: document browser install breakage on Node 14.0.0 (#6187) 2020-07-09 12:32:49 +01:00
Christian Bromann
e67a860eb0
feat: add Mouse#wheel (#6141) 2020-07-06 09:27:17 +02:00
DAOUDI Soufian
d9bb52eab1
docs: fix sandboxing documentation link (#5288) 2020-07-03 14:10:52 +02:00
Jack Franklin
928924ed36
chore: mark v5.0.0-post (#6144) 2020-07-02 16:13:04 +01:00
Jack Franklin
6d06adea10
chore: mark v5.0.0 (#6143) 2020-07-02 14:32:43 +01:00
Jack Franklin
8370ec88ae
feat(types): add (and fix) evaluateHandle types (#6130)
This change started as a small change to pull types from DefinitelyTyped over to
Puppeteer for the `evaluateHandle` function but instead ended up also fixing
what looks to be a long standing issue with our existing documentation.

`evaluateHandle` can in fact return an `ElementHandle` rather than a `JSHandle`.
Note that `ElementHandle` extends `JSHandle` so whilst the docs are technically
correct (all ElementHandles are JSHandles) it's confusing because JSHandles
don't have methods like `click` on them, but ElementHandles do.

if you return something that is an HTML element:

```
const button = page.evaluateHandle(() => document.querySelector('button'));
// this is an ElementHandle, not a JSHandle
```

Therefore I've updated the original docs and added a large explanation to the
TSDoc for `page.evaluateHandle`.

In TypeScript land we'll assume the function will return a `JSHandle` but you
can tell TS otherwise via the generic argument, which can only be `JSHandle`
(the default) or `ElementHandle`:

```
const button = page.evaluateHandle<ElementHandle>(() => document.querySelector('button'));
```
2020-07-01 12:44:08 +01:00
Mathias Bynens
8026ca9514
docs(api): fix overview diagram for pptr.dev (#6128)
We need to serve the image from user-images.githubusercontent.com for it to work properly on pptr.dev. This broke when merging #5947.

Fixes #6127.
2020-06-30 15:56:26 +01:00
Toideng
3760302dfe
docs(api): fix broken links in api.md (#6113)
Fix broken cross-links to classes HTTPRequest and HTTPResponse.
2020-06-26 11:51:08 +02:00
Changhao Han
adeffbaac1
docs(new): migrate Page.ts to TSDoc (part 0 / 2) (#6104)
* docs(new): migrate Page.ts to TSDoc (part 0 / 2)

Co-authored-by: Changhao Han <changhaohan@chromium.org>
2020-06-26 09:24:56 +02:00
Pete LePage
c1490349bc chore: remove hardcoded ?hl=en from docs (#6097) 2020-06-25 13:01:46 +02:00
Jack Franklin
37f6032003
feat(api): remove emulateMedia method (#6084)
It has been deprecated for a while. In the next breaking release let's remove it.

BREAKING CHANGE: swap to `emulateMediaType` instead.
2020-06-23 16:27:37 +01:00
k.zaitsev
fdc6fda46e
docs: fix effect -> affect typos (#5985) 2020-06-23 07:24:15 +02:00
Stefan
2090676a55
docs: fix broken link to DeviceDescriptors.ts (#6076) 2020-06-23 06:56:31 +02:00
Tayo Agagu
750f5eecae
docs: fix broken link to USKeyboardLayout file (#6059)
Link in api doc to USKeyboardLayout returns a 404 (missing common folder in link)
2020-06-22 07:26:04 +02:00
Jack Franklin
7a4170fe6e
chore: remove top level errors and DeviceDescriptors (#6043)
As far as I can tell these became irrelevant as of v1.15 which added
`puppeteer.errors` and `puppeteer.devices [1]. This is a breaking change
but one that's easily mitigated. We've said that we don't consider
changes to our folder/file structure a breaking change, but we can't
really do that if we have these two top level files that we've
documented.

[1]: e3abb0aa32 (diff-522b24108d7446af4c59873472a90444)
2020-06-19 15:15:13 +02:00
Mathias Bynens
56742ebe8c
chore: bump version to v4.0.0-post (#6024) 2020-06-16 08:52:56 +02:00
Mathias Bynens
f1ec6a3df0
chore: update references to branch names (#6022) 2020-06-15 17:34:16 +02:00
Jack Franklin
2ffe710177
chore: mark version 4.0.0 (#6018) 2020-06-15 14:48:37 +01:00
Jack Franklin
b659969a38
chore: migrate away from Node's EventEmitter (#5979) 2020-06-15 11:52:19 +01:00
Tim van der Lippe
398c16d61d
chore: fix docs linter (#6009)
4205ff79d9 removed the header in the Mouse class documentation, but the linter requires the reference to that header to be removed as well.
2020-06-12 18:24:53 +02:00
Mathias Bynens
4205ff79d9 docs(api): remove subheader for non-namespace
This way, pptr.dev doesn’t incorrectly think the header is a namespace.

Ref. #6000.
2020-06-12 17:13:20 +02:00
Tim van der Lippe
c1d7be379b
docs(api): add copy-pasting text example to Mouse class (#6000)
There are numerous issues on the Puppeteer issue tracker about selecting and copy-pasting of text (#3252, #4954,  #423, #1366, #343) as well as several StackOverflow questions:

- https://stackoverflow.com/questions/57101467/how-do-you-paste-text-using-puppeteer
- https://stackoverflow.com/questions/49131516/how-to-copy-text-from-browser-clipboard-using-puppeteer-in-nodejs
- https://stackoverflow.com/questions/60158746/how-do-i-access-the-contents-of-the-clipboard-from-within-a-headless-puppeteer-t
- https://stackoverflow.com/questions/56306153/domexception-on-calling-navigator-clipboard-readtext

I propose we include this commonly-asked question in the main documentation.

Fixes #3252.
Fixes #4954.
2020-06-12 07:32:59 +02:00
Jack Franklin
b86ff21b64
feat(api): add Page.isJavaScriptEnabled + mark properties as private (#5993)
Just one was used externally and I wrapped that up in a method. I think
it's a useful method to provide (I can imagine wanting to know if JS is
enabled on a page) so I think there's no harm here (I'd rather that then
have JSHandle reach into a private variable).
2020-06-10 16:15:02 +01:00
Henrik Skupin
9c656d417e
chore: remove prefers-color-scheme: no-preference (#5990)
The 'no-preference' value has been removed from the spec per resolution in [1]. The appropriate web-platform-tests [2] have already been updated.

[1] https://github.com/w3c/csswg-drafts/issues/3857#issuecomment-634779976
[2] https://github.com/web-platform-tests/wpt/pull/24024
2020-06-09 23:17:07 +02:00
Mathias Bynens
c2d32b1c19 chore: rename image assets 2020-06-02 15:24:25 +02:00
Lester Covax
a84e07ceaa
chore: increase readability of Puppeteer diagram (#5947) 2020-06-02 15:22:17 +02:00
Jack Franklin
58d1eab794
chore: mark version v3.3.0-post (#5960) 2020-06-02 15:20:20 +02:00
Jack Franklin
e84e579c3c
chore: mark version v3.3.0 (#5959) 2020-06-02 09:53:53 +01:00
Jack Franklin
309d8115c3
chore: Revert Mitt due to breaking changes (#5952)
Replacing the Node EventEmitter with Mitt caused more problems than
anticipated for end users due to the API differences and the amount of
people who relied on the EventEmitter API. In hindsight this clearly
should have been explored more and then released as a breaking v4.

This commit rolls us back to the built in Node EventEmitter library
which we can release to get everyone back on stable builds. We can then
consider our approach to migrating to Mitt and when we do do that we can
release it as a breaking change and properly document the migration
strategy and approach.
2020-06-02 09:32:02 +01:00
Jack Franklin
b874cacaef
chore: rename Worker to WebWorker (#5941)
To avoid TS name conflicts.
2020-05-29 12:57:54 +01:00
Jack Franklin
78624842ef
chore: update request and response references in docs (#5942)
Missed some Request => HTTPRequest and Response => HTTPResponse renames
when updating the docs.
2020-05-29 12:36:04 +01:00
Jack Franklin
232def0dcf
chore: rename Response to HTTPResponse (#5940)
To avoid any conflicts with the TS `Response` type.
2020-05-29 11:49:30 +01:00
Jack Franklin
cfd72acc57
chore: bump version to v3.2.0-post (#5938) 2020-05-29 11:27:54 +02:00
Jack Franklin
88b5265be1
chore: mark version v3.2.0 (#5937) 2020-05-29 10:22:13 +01:00
Jack Franklin
1d4d25a0f3
Use Mitt as the Event Emitter (#5907)
* chore: migrate to Mitt as the EventEmitter

This commit moves us to using Mitt [1] for the event emitter in
Puppeteer. This removes our dependency to Node's EventEmitter which is
part of a larger stream of work to enable a Puppeteer-web version that
doesn't depend on Node.

There are no large breaking changes as we support the main methods that
EventEmitter had, but it also provides some methods that Puppeteer
didn't use. Technically end users could depend on this but it's
unlikely.

[1]: https://github.com/developit/mitt
2020-05-29 09:59:26 +01:00
Jack Franklin
8e8a9df3dd
chore: rename Request class to HTTPRequest (#5934)
It conflicts with an inbuilt TypeScript `Request` type so can cause
confusion when in TS land. Note: `Response.ts` and `Worker.ts` also
suffer from this; PRs to rename them are incoming.
2020-05-29 09:38:40 +01:00
Mathias Bynens
7eab7f8dd9
feat(api): add page.emulateVisionDeficiency(type) (#5901)
Design doc: https://goo.gle/devtools-cvd
2020-05-26 17:14:20 +02:00
Islam ElHakmi
caaf4d2086
fix: support async functions as an argument for waitForFunction (#5682) 2020-05-19 09:09:31 +02:00
Alex Rudenko
e6c22dae05
chore: bump version to v3.1.0-post (#5884)
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2020-05-18 14:16:25 +02:00
Alex Rudenko
8ba36752e7
chore: mark version v3.1.0 (#5883)
* chore: mark version v3.1.0

Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2020-05-18 13:47:03 +02:00
Michal TOMA
a17bd89fb9 feat: add securityDetails.subjectAlternativeNames() #5628 (#5881)
Co-authored-by: Michal TOMA <michaltoma2205@gmail.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>

Fixes #5625. Closes #5628.
2020-05-18 12:59:57 +02:00
Mathias Bynens
ad3613db14
docs(contributing): clarify list of Chromium versions (#5878) 2020-05-18 09:26:19 +02:00
Jack Franklin
ae576aff61
chore: mark v3.0.4-post (#5824) 2020-05-07 12:04:22 +02:00
Jack Franklin
c214d20d54
chore: mark version v3.0.4 (#5823) 2020-05-07 11:52:59 +02:00
Jack Franklin
51154824d8
chore: bump version to 3.0.3-post (#5814) 2020-05-06 17:27:31 +02:00
Jack Franklin
dd5bdf1616
chore: mark version v3.0.3 (#5813) 2020-05-06 15:57:04 +01:00
Vasilii Artemchuk
53d6fabf80
docs(api.md): improve emulateMediaFeatures section (#5807) 2020-05-05 07:43:14 +02:00
Jack Franklin
ec91ecaf0b
chore: migrate src/Launcher to TypeScript (#5775) 2020-04-30 13:45:58 +01:00
ɯλrv¬
a8908cf3e0
chore: update incorrect link for DeviceDescriptors (#5777) 2020-04-30 09:14:12 +01:00
Jack Franklin
8ddf4f3114
chore: bump version to 3.0.2-post (#5759) 2020-04-28 11:10:39 +01:00
Jack Franklin
646f42e98c
chore: mark version v3.0.2 (#5752) 2020-04-28 10:23:19 +01:00
Jack Franklin
1358b45fca
chore: migrate src/LifecycleWatcher (#5734) 2020-04-27 10:03:33 +01:00
Jack Franklin
1a4e260458
chore: migrate src/BrowserFetcher to TypeScript (#5727)
* chore: migrate src/BrowserFetcher to TypeScript
2020-04-24 08:57:53 +01:00
munrocket
ddb8ba1baf
chore: tidy up and de-duplicate Travis CI config (#5716) 2020-04-23 09:29:37 +01:00
Jack Franklin
9d297f0827
chore: Bump version to 3.0.1-post (#5717) 2020-04-22 16:07:57 +01:00
Jack Franklin
6029fdd618
chore: mark version v3.0.1 (#5709) 2020-04-22 11:10:04 +01:00
Sam
69bfa80084
Update api.md (#5706) 2020-04-22 09:41:49 +01:00
Stano Bo
5c839f5e48
chore(docker): add missing libgbm1 dependency (#5693) 2020-04-20 17:28:18 +02:00
atlanteh
ad6c57aeb9
docs: fix DeviceDescriptor link (#5683) 2020-04-20 09:20:52 +02:00
Ryō Igarashi
35fc65492d
docs: change the Alpine Docker example to use env instead of launch option (#5666) 2020-04-17 11:30:26 +02:00
Mathias Bynens
46ef9f79ca
docs(troubleshooting): list libgbm-dev dependency (#5667)
Fixes #5661.
2020-04-17 10:14:18 +02:00
Mathias Bynens
80348dc574
chore: bump version to v3.0.0-post (#5649) 2020-04-16 11:23:26 +02:00
Changhao Han
6760b9225e
chore: mark version v3.0.0 (#5642)
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2020-04-16 10:43:12 +02:00
Maja Frydrychowicz
d817ae5a4b
fix: update preferred revision after Launcher is created (#5640)
Fixes an edge case where Puppeteer looked for a Chromium revision when launching Firefox.

Allow appropriate Launcher to be instantiated when calling `Puppeteer.connect`.

Add an example of running Firefox.
2020-04-14 18:42:48 +02:00
Joshua H
21c2d31523
docs(api): update another emulateMediaType example (#5607) 2020-04-08 11:33:34 +02:00
Joshua H
fefa8ca8a2
docs(api): update emulateMediaType example (#5606) 2020-04-08 10:17:49 +02:00
Jack Franklin
88446df724
chore: fix missed src/ vs lib/ documentation (#5591)
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2020-04-06 10:32:42 +02:00
Bello Gbadebo
b3b0dc5025
docs: replace invalid device descriptors link (#5589)
Fixes #5588.
2020-04-06 08:50:13 +02:00
Konstantin Vyatkin
f43468452a
chore: fix link to source files in documentation (#5576)
Look like it was overlooked while moving source files.
2020-04-03 12:02:24 +02:00
Maja Frydrychowicz
c82b5560f0
docs: connect works with any supported browser (#5572) 2020-04-02 10:35:47 +02:00
Yuki Takizawa
a3d1536a6b
Bugfix: Docker build failure (#5400)
The recommended Dockerfile uses node:10-slim image as a base,
but the base image does not contain wget command anymore.
(About the reason, see https://github.com/nodejs/docker-node/issues/1185)
So fixed the problem.
2020-03-12 17:01:39 +01:00
Maja Frydrychowicz
33f1967072
(feat) Add option to fetch Firefox Nightly (#5467)
* (feat) Add option to fetch Firefox Nightly

Add Firefox support to BrowserFetcher and the install script.
By default, the latest Firefox Nightly is downloaded
directly from archive.mozilla.org (dmg, tar.bz2 and zip)

This also required changes that impact `puppeteer.launch()`
and `puppeteer.executablePath()`

Fixes #5151

* Update docs/api.md

Co-Authored-By: Mathias Bynens <mathias@qiwi.be>

* Clean up revision promise

* Improve error handling in revision check

* Remove matchAll

* Use explicit octal mode

* Update .gitignore

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2020-03-10 21:59:03 +01:00
Changhao Han
807fbbdc20
chore: drop Node.js v8 support (#5365)
* chore: update relevant Node.js versions from 8 to 10

* chore: remove node6 and node8 folders from puppeteer-firefox ci

* fix: loosen definition for proc.stdio

* fix: update typescript version used in npm run test-types
2020-03-10 21:55:32 +01:00
WuerfelDev
0b1777e73c
docs(api) Fix url (#5367)
A little slash had been missing since eddb23b521
2020-02-06 22:54:48 +01:00
Changhao Han
5ffcde2b7b
chore: bump version to v2.1.1.-post (#5390) 2020-02-06 16:28:15 +01:00
Changhao Han
46386eb866
chore: mark version v2.1.1 (#5388) 2020-02-05 14:36:04 +01:00
Grzegorz (Greg) Ziółkowski
0d243b7a0f feat: make it possible to run install.js script with puppeteer-core (#5325)
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2020-01-28 13:08:13 +01:00
Feu
c283fea6c5 docs(api): add example to page.$$eval (#5200)
This makes it more clear that the callback receives an actual array of nodes instead of just a NodeList.

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2020-01-27 16:19:33 +01:00
Mathias Bynens
b45f8e4703
chore: bump version to v2.1.0-post (#5349) 2020-01-27 16:00:07 +01:00
Mathias Bynens
a30cf05e3a chore: mark version v2.1.0 (#5347)
This changes the Chromium revision to r722234 (Chrome 80.0.3987.0),
since that's the most recent version in the Chromium 80 range for
which a download exists for all supported platforms.
2020-01-27 15:48:40 +01:00
Erik Kotsiuba
6cc98a7b63 docs(troubleshooting): recommend using args for heroku (#5197)
Co-Authored-By: Mathias Bynens <mathias@qiwi.be>
2019-11-27 10:01:39 +01:00
Mathias Bynens
eddb23b521
chore: update URLs (#5185) 2019-11-26 13:12:25 +01:00
Maja Frydrychowicz
c5a72e9887 feat(launcher): add option to run Puppeteer with different browsers (#5137)
* feat: Set which browser to launch via PUPPETEER_PRODUCT

This change introduces a PUPPETEER_PRODUCT environment
variable as a first step toward using Puppeteer with
many different browsers. Setting PUPPETEER_PRODUCT=firefox, for
example, enables Firefox-specific Launcher settings.

The state is also exposed as `puppeteer.product` in the API
to support adding other product-specific behaviour as needed.

The bulk of the change is a refactoring in Launcher
to decouple generic browser start-up from product-specific
configuration.

Respecting the puppeteer-core restriction for PUPPETEER_
environment variables, lazily instantiate the Launcher
based on a `product` Puppeteer.launch option, if available.

* test: Distinguish Juggler unit tests from Firefox

The funit script is renamed to fjunit (j for Juggler, which is
used only by the experimental puppeteer-firefox package.

In contrast, the funit script now refers to running Puppeteer
unit tests against the main puppeteer package with Firefox.
To do so with Firefox Nightly, run:

`BINARY=path/to/firefox npm run funit`

A number of changes in this patch make it easier to run
Puppeteer unit tests in Mozilla's CI.
2019-11-26 10:23:19 +01:00
Darío Kondratiuk
fd43f9c23a docs(api.md): fix defaultArgs link (#5126)
Closes #5094.
2019-11-04 19:43:04 -03:00
Chris Calo
5fa28b585f docs(api.md): fix typo (#5120) 2019-11-02 18:42:29 -04:00
Benj Fassbind
561c99d52a docs(api.md): prefer async/await over Promise#then (#5089)
Fixes #5082.
2019-10-26 11:00:39 +02:00
Mathias Bynens
7032472af7 chore: bump version to v2.0.0-post 2019-10-24 17:38:39 +02:00
Mathias Bynens
aa246973b9
chore: mark version v2.0.0 (#5078) 2019-10-24 14:46:50 +02:00
theeko
7f3e372b14 docs(api.md): improve page.waitFor docs for the options object (#5021) 2019-10-24 11:22:21 +02:00
Vse Mozhet Byt
8132b39a6c docs(api.md): remove duplicate code from an example (#5072) 2019-10-24 11:21:38 +02:00
Mathias Bynens
1248a19135
feat(api): add page.emulateTimezone(timezoneId) (#4949)
This enables dynamically changing the timezone of the page.
2019-10-23 15:49:39 +02:00
Mathias Bynens
a86363fda6
feat(api): add page.emulateMedia{Type,Features} (#5012) 2019-10-23 13:55:00 +02:00
Julien Landuré
c0ba8f9a19 docs(troubleshooting): update Alpine Chromium versions (#4980)
Chromium 77 is now the default version installed in Alpine.
2019-10-16 10:05:17 +02:00
Darío Kondratiuk
7dbb10859c docs(api): list Chromium version for Puppeteer v1.20.0 (#5015) 2019-10-10 11:44:18 +01:00
Chris B
dc57d03c19 docs(api): clarify type method examples (#5010) 2019-10-07 08:32:35 +02:00
Mathias Bynens
387a532707 chore: bump version to v1.20.0-post (#4939) 2019-09-13 19:58:13 -07:00
Mathias Bynens
a5f03ce1c8 chore: mark version v1.20.0 (#4928) 2019-09-12 15:21:21 -07:00
Vitalii Tverdokhlib
93843592da docs(troubleshooting): fix Alpine version link (#4927) 2019-09-11 10:30:59 +02:00
Pavel Feldman
73fd7ff822 feat(api): add element.select and element.evaluate for consistency (#4892) 2019-09-04 15:19:34 -07:00
Artem Sheremet
cba0f98a2a docs(troubleshooting): Fix missing package in Docker instructions (#4877)
`ttf-freefont` is gone -- looks like it's [replaced](https://packages.debian.org/search?keywords=ttf-freefont) by `fonts-freefont-ttf`, which is [available since oldoldstable](https://packages.debian.org/search?keywords=fonts-freefont-ttf).
2019-08-24 20:13:56 -07:00
Joel Einbinder
07eaad9aaa fix(api): tbd release date (#4872) 2019-08-22 15:03:26 -07:00
Vitalii Tverdokhlib
ff6d2a33f3 docs(puppeteer-chromium): docker alpine switch to Alpine 3.10 (#4644) 2019-08-13 16:37:49 -07:00
Drew Powers
656fe46047 docs(circleci): Improve CircleCI troubleshooting docs (#4813)
Adds note about Jest maxWorkers as well as the base image to start with. This is an improvement over the previous section I wrote, from me banging my head against a YAML file all week 🙃.
2019-08-07 08:51:31 -07:00
Drew Powers
374177b433 docs(circleci): Add CircleCI to troubleshooting docs (#4810)
This came from personal difficulties in running Puppeteer tests on CircleCI. I tried to keep the note as brief as possible, while being helpful for an entire CI platform.
2019-08-06 17:18:10 -07:00
Yevhen
7fded54903 docs(api.md): fix typo (#4761) 2019-07-29 14:14:31 -07:00
Andrey Lushnikov
62f5dc7375
chore: bump version to v1.19.0-post (#4745) 2019-07-22 22:34:10 -07:00
Andrey Lushnikov
af0d229044
chore: mark version v1.19.0 (#4744) 2019-07-22 22:02:45 -07:00
Andrey Lushnikov
ea28cccfe0 feat(page): introduce file chooser interception (#4653)
This patch introduces a page.waitForFileChooser() method
that adds a watchdog to wait for file chooser dialogs.

This lets Puppeteer users to capture file chooser requests
and fulfill/cancel them if necessary.

Fixes #2946
2019-07-22 21:30:49 -07:00
Marc Jansen
492132f9b0 docs(api.md): Slightly enhanced wording (#4631) 2019-06-29 13:58:27 +02:00
jeremykerr-sp
a069a1203d docs(puppeteer-chromium): docker alpine freetype-dev dependency (#4643)
A freetype update broke bitmap fonts. Adding freetype-dev to the Alpine dependencies resolves related issues.

This resolves these errors when launching chromium:
```/usr/bin/chromium-browser

Error relocating /usr/lib/chromium/chrome: FT_Get_Color_Glyph_Layer: symbol not found
Error relocating /usr/lib/chromium/chrome: FT_Palette_Select: symbol not found```


Background:
https://bugs.alpinelinux.org/issues/10309
https://github.com/stark/siji/issues/28
https://github.com/lucy/tewi-font/issues/35
2019-06-29 13:55:23 +02:00
Andrey Lushnikov
4ccd52c309
chore: bump version to v1.18.1-post (#4630) 2019-06-26 10:57:38 -07:00
Andrey Lushnikov
a2cf81dd78
chore: mark version v1.18.1 (#4628) 2019-06-26 10:40:38 -07:00
Andrey Lushnikov
411347cd7b
chore: bump version to v1.18.0-post (#4608) 2019-06-20 18:46:36 -04:00
Andrey Lushnikov
c96454d42c
chore: mark version v1.18.0 (#4606) 2019-06-20 18:13:45 -04:00
Takahiro Nishino
792264122c fix(page): fix A2 and A3 format size (#4569)
16.5 inch ~ 419.1mm
16.54 inch ~ 420.1mm

Fix #4568
2019-06-10 20:59:12 -07:00