Commit Graph

76 Commits

Author SHA1 Message Date
jrandolf
f2d8276d6e
feat: support node 18 (#8447) 2022-06-01 13:53:17 +02:00
jrandolf
30438e6532
chore: use ts-doc and factor out importFSModule (#8449) 2022-06-01 11:11:09 +02:00
jrandolf
3f4451eff7
chore: extract puppeteer launch options to type (#8448) 2022-05-31 17:54:25 +00:00
Yutaka Hirano
2219eed386
chore: fix network-service related chromium feature settings (#8350) 2022-05-31 17:32:54 +02:00
jrandolf
b4e751f29c
feat: use strict typescript (#8401) 2022-05-31 16:34:16 +02:00
Simon
dccfadb90e
fix: kill browser process when 'taskkill' fails on Windows (#8352) 2022-05-16 13:32:29 +00:00
Alex Rudenko
eec2bf882b
chore: set up daily jobs for latest Chromium builds (#8344) 2022-05-13 12:15:12 +00:00
Alex Rudenko
4854ad5b15
fix: disable AvoidUnnecessaryBeforeUnloadCheckSync to fix navigations (#8330) 2022-05-11 09:41:53 +02:00
jrandolf
6841bd68d8
feat: support ES modules (#8306) 2022-05-09 11:17:24 +00:00
Valentin Semirulnik
baa017db92
feat: add support for Apple Silicon chromium builds (#7546)
Google has published Chromium builds for Apple Silicon so we can fetch it now

Related to #6622
2022-05-05 07:33:19 +00:00
Alex Rudenko
e841d7f9f3
fix: tests failing in headful (#8273)
* fix: test failing in headful

* fix: install Firefox for headful tests

* fix: skip favicon.ico requests in test

* fix: auth test in headful

* fix: disable NetworkTimeServiceQuerying

* fix: filter more favicon requests

* fix: network test with favicon

* fix: improve fixes
2022-05-02 11:37:21 +02:00
Alex Rudenko
1308d9aa6a
feat: support chrome headless mode (#8260)
* feat: support chrome headless mode

Co-authored-by: Ergün Erdoğmuş <erdogmusergun@gmail.com>
2022-04-25 13:11:23 +02:00
Henrik Skupin
b6504d7186
fix: also kill Firefox when temporary profile is used (#8233)
* fix: also kill Firefox when temporary profile is used

* fix: use separate tests for Puppeteer.launch should filter out ignored default arguments
2022-04-19 12:09:23 +00:00
Alex Rudenko
9ac7318506
fix: disable bfcache in the launcher (#8196)
Puppeteer has problems handling navigations to pages that
are restored from the back-forward cache. Let's disable it
until we have the support and test coverage.

Issues: #8182
2022-04-06 09:04:31 +02:00
liangwu
8f13470af0
fix: chromium downloading hung at 99% (#8169)
set keep-alive header to fix downloading done without 'finish' event trigged on some devices.
2022-03-31 08:08:22 +02:00
Alex Rudenko
85decdc28d
fix: regression in --user-data-dir handling (#8060) 2022-02-23 19:21:17 +00:00
Junyan
543a4d44bc
chore: remove console.error (#7883)
* chore: remove console.error

* fix: replace console.error with debugError

Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2022-02-18 08:47:14 +00:00
Pasi Tuominen
0eb9c78617
fix: change kill to signal the whole process group to terminate (#6859)
* fix: change kill to signal the whole process group to terminate immediately

* chore: ignore taskkill errors

Co-authored-by: Jan Scheffler <janscheffler@chromium.org>
2022-02-17 12:17:33 +00:00
Josh Bielick
6d6ea9bf59
fix: always use ENV executable path when present (#7985)
Some recent changes to allow arm64 environments (including M1 macs) to
launch a chromium installation successfully before arm-compatible builds
were downloadable prevented the usage of PUPPETEER_EXECUTABLE_PATH in
some environments. Currently, when the platform is not darwin and the
arch is arm64, an executable cannot be specified using the environment
variable.

Generally speaking, environment variables have highest precedence for
options such as this since they depend on system configuration.

These change:

1. allow the ENV variable to always be used when defined and not
   specified in LaunchOptions (and when not puppeteer-core)
2. Retain the existing behavior of assuming /usr/bin/chromium-browser on
   platforms like Ubuntu (exact if-conditions preserved to avoid any
   breaking changes)
3. Add some tests for this particular portion of the code.
2022-02-11 13:07:31 +00:00
Alex Rudenko
179ededa14
revert: esm modules (#7996)
* Revert "fix(puppeteer): export internals (#7991)"

This reverts commit 448118cbdb.

* Revert "feat(puppeteer): export esm modules in package.json (#7964)"

This reverts commit 523b487e88.
2022-02-10 13:34:36 +00:00
jrandolf
523b487e88
feat(puppeteer): export esm modules in package.json (#7964)
* feat(puppeteer): export esm modules in package.json

Signed-off-by: Randolf Jung <jrandolf@chromium.org>

Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
Co-authored-by: Randolf Jung <jrandolf@chromium.org>
2022-02-09 07:47:27 +00:00
Alex Rudenko
9afdc6300b
fix: make projectRoot optional in Puppeteer and launchers (#7967) 2022-02-07 12:59:44 +01:00
Alex Rudenko
0636513e34
fix: make more files work in strict-mode TypeScript (#7936) 2022-01-28 09:38:36 +00:00
Connor Clark
9f9b4ed72a
fix: clearer jsdoc for behavior of headless when devtools is true (#7748)
The existing comment suggests that only the default changes–however, even if you set `devtools: false` and `headless: true`, Puppeteer will still open with headful.
2021-11-16 21:31:24 +01:00
Henrik Skupin
fc94a28778
fix: try to remove the temporary user data directory after the process has been killed (#7761) 2021-11-15 11:52:09 +00:00
Henrik Skupin
51e61696c1
fix: only kill the process when there is no browser instance available (#7762)
When the browser has been started and we have a valid reference lets make use of it instead of force-killing the process. A force kill should probably be the last resort in cleaning up the process.

This will help with Firefox as described on #7668 (comment).
2021-11-11 09:19:23 +01:00
Henrik Skupin
790c7a0eb9
feat: support for custom user data (profile) directory for Firefox (#7684)
When using a custom Firefox profile for Puppeteer the modified
preferences as present in prefs.js need to be reset once the
profile is no longer needed by Puppeteer. If not done this could
cause side-effects when the profile is used next time outside
of Puppeteer.

As ride-along fix the "--foreground" argument for Firefox will
only be used on MacOS because that's the only supported platform.
2021-11-10 13:31:15 +01:00
Christopher Patty
b8806d5625
Adds default flag to export tagged PDFs in anticipation of Chrome 81 (#5337)
Co-authored-by: Jan Scheffler <janscheffler@chromium.org>
2021-10-12 14:07:18 +00:00
Henrik Skupin
5c592913a8
chore: ignore stdout when dumpio isn't used (#7644)
When the browser child process has logging enabled
and output on stdout isn't constantly processed,
the brower process is about to freeze.

To avoid such a situation at least the stdout
pipe shouldn't be set by default but only if
dumpio is enabled.

Co-authored-by: Jan Scheffler <janscheffler@chromium.org>
2021-10-07 21:43:57 +00:00
Henrik Skupin
e7f82626ca
chore: disable certain Fission features for Firefox (#7610) 2021-10-07 12:13:54 +02:00
Nadhir
eebf452d38
fix: add support for relative install paths to BrowserFetcher (#7613)
This patch fixes the BrowserFetcher._getFolderPath method so that it supports relative download paths using PUPPETEER_DOWNLOAD_PATH or npm config

Issues: #7592
2021-09-29 14:21:38 +00:00
Tan Li Hau
26145e9a24
feat: add custom debugging port option (#4993) 2021-09-29 16:05:18 +02:00
Jan Scheffler
113489d3b5
fix(launcher): launcher.launch() should pass 'timeout' option #5180 (#7596)
Co-authored-by: Bob Jamison <bob.jamison@pearson.com>
2021-09-27 10:01:35 +02:00
Kiko Beats
b1f6e8692b
feat: allow to customize tmpdir (#7243) 2021-09-23 09:26:00 +02:00
Ben Elliott
9399c9786f
fix(install): respect environment proxy config when downloading Firef… (#6577)
Issues: #6573
2021-09-15 19:41:03 +00:00
headlesstesting
6a2bf0aaba
feat: add User-Agent with Puppeteer version to WebSocket request (#5614)
This will add the User-Agent header to WebSocket requests.
2021-09-15 07:40:43 +00:00
Mathias Bynens
686030fe0d
chore: remove references to upstream master branches (#7412)
Chromium had its branch renamed to `main`, and for other projects we can just point to the `HEAD`.
2021-09-14 15:02:39 +00:00
Voltrex
57d1bd4240
refactor(node): apply optimizations (#7557)
Replaced unnecessary template strings and used less calls for optimization.
2021-09-13 09:14:23 +00:00
pyoor
2aec35553b
fix: update firefox prefs documentation link (#7539) 2021-09-10 18:59:43 +00:00
Theodore Messinezis
5735f31d78
chore: enable followRedirects for NodeWebSocket (#7555) 2021-09-10 20:34:25 +02:00
Andres Rondon
5eb20e29a2
fix(browser-runner): reject promise on error (#7338)
This patch adds a reject callback to the _processClosing promise and executes it if it catches an error on removeFolderAsync(...).

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-07-30 09:32:53 +02:00
TASNEEM KOUSHAR
c65b10c524
chore: remove more ts-doc warnings (#7422) 2021-07-19 10:39:40 +01:00
Yusuke Iwaki
d70f60e061
feat: add channel parameter for puppeteer.launch (#7389)
This change adds a new `channel` parameter to `puppeteer.launch`. When specified, Puppeteer will search for the locally installed release channel of Google Chrome and use it to launch. Available values are `chrome`, `chrome-beta`, `chrome-canary`, `chrome-dev`. This parameter is mutually exclusive with `executablePath`.
2021-07-09 12:43:42 +00:00
Julian Descottes
bba3f41286
chore: synchronize Bug 1710839: update comment about firefox preference remote.enabled (#7324) 2021-06-14 10:41:25 +02:00
TASNEEM KOUSHAR
159d283545
fix: modified comment for method product, platform and newPage (#7262) 2021-05-24 14:14:51 +01:00
Jack Franklin
3204f2780f
chore: fix eslint warnings around type defs (#7230)
This PR updates some code to remove constant ESLint warnings. It also
upgrades those warnings to errors - so that they have to be resolved
as part of the PR, rather than landing as a warning and causing noise.

Fixes #7229.
2021-05-12 17:43:05 +01:00
Jack Franklin
523aa0aafa
chore: upgrade and pin prettier dependencies (#7232)
We're seeing odd failures with Prettier on some CI branches; my hunch is that they are installing different versions of the package and therefore getting formatting conflicts. This PR updates them all and pins them to specific versions - something we should probably consider generally, or remove our `package-lock.json` from the gitignore.
2021-05-12 16:48:30 +02:00
Peng-Yu Chen
2605309f74
feat(launcher): add new launcher option waitForInitialPage (#7105)
The existing behavior is expected to be unchanged as the value defaults to true.
Adding such option would allow user to skip the initial wait.

Issue: #3630
2021-05-06 20:30:04 +00:00
Mathias Bynens
cf8c08d991 chore: fix lint issues 2021-04-19 13:17:20 +02:00
Marvin Hagemeister
c239d9edc7
feat(launcher): fix installation error on Apple M1 chips (#7099)
* feat(launcher): fix installation error on Apple M1 chips

The previous logic assumed that an arm64 arch is only available in Linux. WIth Apple's arm64 M1 Chip this assumption isn't true anymore.

Currently there are no official macOS arm64 chromium builds available, but we can make use of the excellent Rosetta feature in macOS which allows us to run x86 binaries on M1.

Once native macOS arm64 Chromium builds are available we should switch to those.

Issue: #6622
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-04-19 09:00:43 +02:00