Commit Graph

210 Commits

Author SHA1 Message Date
Nikolay Vitkov
022c909326
fix: viewport.deviceScaleFactor can be set to system default (#9911) 2023-03-24 10:56:52 +01:00
Alex Rudenko
de86cafe3c
chore: reduce default timeout to 10s (#9906) 2023-03-24 09:35:45 +01:00
Nikolay Vitkov
48e7bdd75e
chore: use events rather than commands (#9904) 2023-03-23 17:18:48 +01:00
jrandolf
6c018acf5d
chore: update deep implementation for P selectors (#9908) 2023-03-23 15:46:33 +01:00
Alex Rudenko
f6ef167b0f
chore: validate licenses (#9873) 2023-03-23 10:22:52 +01:00
Alex Rudenko
976684e4e1
chore: remove operations for now (#9899) 2023-03-22 16:56:12 +01:00
Nikolay Vitkov
c6a9404bb4
chore: reuse SetContent across implementations (#9894) 2023-03-22 10:49:39 +01:00
jrandolf
323db305f0
chore: use WeakMap and null for DepthCalculator (#9892) 2023-03-21 14:09:50 +01:00
Alex Rudenko
1f76cdda12
chore: replace rimraf with a helper in BrowserFetcher/Connector (#9890) 2023-03-21 13:41:56 +01:00
Alex Rudenko
510b36c500
fix: implement protocol-level timeouts (#9877) 2023-03-21 11:53:13 +00:00
Nikolay Vitkov
36c029b38d
fix: waitForNavigation issue with aborted events (#9883) 2023-03-21 10:22:57 +01:00
Nikolay Vitkov
3ea15dc395
chore: JavaScript error should produce pageerror events (#9884) 2023-03-21 10:21:48 +01:00
Michael "Z" Goddard
a5149d52f5
feat: add Page.waitForDevicePrompt (#9299)
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2023-03-21 10:21:10 +01:00
dependabot[bot]
3d1dd519ac
chore(deps): Bump ws from 8.12.1 to 8.13.0 (#9831)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-20 14:49:37 +00:00
Nikolay Vitkov
cb079378bb
chore: add BiDi support for SetContent (#9878) 2023-03-20 14:00:13 +01:00
jrandolf
e6ec9c2958
fix: fallback to CSS (#9876) 2023-03-17 13:23:14 +01:00
jrandolf
9f9394ca42
chore: use parsel (#9865) 2023-03-16 14:41:38 +01:00
Nikolay Vitkov
16b39de5ca
chore: extract HTTP prep for BiDi network module (#9840) 2023-03-15 17:51:34 +01:00
Nikolay Vitkov
eddb1f6ec3
feat(chromium): roll to Chromium 112.0.5614.0 (r1108766) (#9841) 2023-03-15 15:29:44 +01:00
Nikolay Vitkov
17c650b6d1
chore: prefer use of fs/promise to utils/promisify (#9848)
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2023-03-14 18:30:41 +01:00
release-please[bot]
73ca94fe66
chore: release main (#9838)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-03-14 11:47:24 +01:00
jrandolf
dd16ecae03
chore: use custom tokenizer (#9837) 2023-03-14 10:13:23 +01:00
jrandolf
9044609be3
fix: sort elements based on selector matching algorithm (#9836) 2023-03-13 16:11:16 +01:00
jrandolf
8aea8e0471
perf: use querySelector* for pure CSS selectors (#9835) 2023-03-13 15:37:30 +01:00
Nikolay Vitkov
175362c048
chore: add BiDi for goto navigation (#9795) 2023-03-10 15:59:02 +00:00
release-please[bot]
07391bbf5f
chore: release main (#9824)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-03-10 11:47:17 +00:00
Alex Rudenko
0165f06dee
fix: update troubleshooting guide links in errors (#9821) 2023-03-10 10:37:36 +01:00
Alex Rudenko
cefc4eab47
fix: restore rimraf for puppeteer-core code (#9815) 2023-03-09 13:34:42 +01:00
Nikolay Vitkov
38d511b5c2
docs: fix some api-extractor warnings (#9806) 2023-03-09 09:22:09 +01:00
Alex Rudenko
bc1a04def8
fix: call _detach on disconnect (#9807) 2023-03-09 09:21:28 +01:00
jrandolf
c1a7c736ff
chore: minify injected code (#9804) 2023-03-08 12:17:18 +01:00
release-please[bot]
101fcb994e
chore: release main (#9789)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-03-06 14:53:56 +01:00
jrandolf
364b23f8b5
fix: update dependencies (#9781) 2023-03-06 13:43:37 +01:00
jrandolf
813882db7b
chore: update glob (#9776) 2023-03-06 12:28:33 +01:00
jrandolf
2123f809e8
chore: remove rimraf (#9775) 2023-03-06 11:33:38 +01:00
jrandolf
f84873c121
chore: support commas in P selectors (#9769) 2023-03-06 10:56:52 +01:00
Nikolay Vitkov
004a99aaef
chore: implement simple BiDi ElementHandle (#9753) 2023-03-01 11:09:17 +01:00
Nikolay Vitkov
4a365a42b4
chore: extract BiDi context to allow emitting only to it (#9742) 2023-02-28 11:10:14 +01:00
Nikolay Vitkov
3db7d55d26
chore: remove BigInt exists checks (#9744) 2023-02-24 19:26:29 +01:00
Nikolay Vitkov
ba5d4bf2c1
chore: Fix ES Lint import rule (#9738) 2023-02-23 13:37:40 +00:00
Paul Irish
81bf443789
chore: DRY up mouse.click() (#9725) 2023-02-21 20:50:43 +00:00
Nikolay Vitkov
9910aae2f7
chore: Fix BiDi session.status Param type (#9723) 2023-02-21 19:16:07 +00:00
jrandolf
84845e4901
chore: implement operations (#9717) 2023-02-21 11:12:27 +01:00
release-please[bot]
e0330d82bd
chore: release main (#9716)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-02-20 18:30:51 +01:00
Nikolay Vitkov
9b54365df5
chore: Add Page.Console event to BiDi (#9700) 2023-02-20 13:00:29 +01:00
Alex Rudenko
82916c102b
fix: bump chromium-bidi to a version that does not declare mitt as a peer dependency (#9701) 2023-02-17 14:14:52 +01:00
Nikolay Vitkov
eefe9583d0
chore: Add EsLint rule import/order (#9685) 2023-02-15 15:09:31 -08:00
release-please[bot]
e8e18ae081
chore: release main (#9684)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-02-15 12:43:41 -08:00
jrandolf
cfb60d01a8
refactor: remove obsolete wait task binding code (#9679) 2023-02-15 10:57:24 -08:00
jrandolf
2b3cf3ace9
chore: implement P queries (#9639) 2023-02-15 10:42:32 -08:00
jrandolf
e8f25e403f
refactor: custom query handlers and global bindings (#9678) 2023-02-15 07:33:18 -08:00
Nikolay Vitkov
0c85c0611c
chore: Implement JSHandle for BiDi (#9660) 2023-02-15 10:29:18 +00:00
jrandolf
56f99f7b10
refactor: migrate to iterator-based query handlers (#9676) 2023-02-14 13:31:30 -08:00
jrandolf
023c2dcdbc
refactor: implement reverse argument binding (#9651) 2023-02-14 07:54:44 -08:00
Alex Rudenko
c6054ac1a5
fix: make chromium-bidi an opt peer dep (#9667) 2023-02-14 09:04:54 +00:00
jrandolf
eb138635d6
fix: fix circularity on JSHandle interface (#9661) 2023-02-13 11:25:07 -08:00
jrandolf
b53838682f
chore: cleanup wireit scripts (#9662) 2023-02-13 10:22:43 -08:00
jrandolf
78a302174e
chore: use wireit from workspace scripts (#9659) 2023-02-13 06:50:44 -08:00
release-please[bot]
8054bac046
chore: release main (#9624)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-02-13 11:16:54 +01:00
Alex Rudenko
df59d010c2
feat(chromium): roll to Chromium 111.0.5556.0 (r1095492) (#9656) 2023-02-13 09:46:01 +00:00
jrandolf
558a8e2999
chore: fix npm scripts (#9646) 2023-02-10 17:57:17 +00:00
Nikolay Vitkov
b8ea891ab8
chore: Extract JSHandle to API (#9632) 2023-02-09 18:04:06 +01:00
Rafael Martins
ddb0cc174d
fix: page.goto error throwing on 40x/50x responses with an empty body (#9523) (#9577)
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2023-02-06 09:40:51 +00:00
Nikolay Vitkov
9b11b6a4e0
chore: Add BiDi serialization for RegExp and Date (#9623) 2023-02-03 12:32:26 +00:00
charlieinitialdigital
c8bb11adfc
feat: add touchstart, touchmove and touchend methods (#9622) 2023-02-03 10:59:21 +00:00
jrandolf
6e226bcc22
chore: set supported typescript range (#9618) 2023-02-03 07:56:10 +00:00
Nikolay Vitkov
abcc1756dd
chore: Add BiDi Page.evaluate (#9609) 2023-02-02 15:14:28 +01:00
Nikolay Vitkov
3a867919a8
chore: Remove Rollup dts plugin (#9614) 2023-02-02 11:17:28 +01:00
Rafael-Martins
f12f27e1eb
docs: clarify the waitForXPath return type (#9541) (#9583) 2023-02-01 15:23:32 +00:00
release-please[bot]
1dd7bbe04f
chore: release main (#9606)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-02-01 14:49:00 +00:00
ggorlen
e16cbc6626
fix: restore WaitTask terminate condition (#9612) 2023-02-01 00:10:02 -08:00
Nikolay Vitkov
aa1d1536b6
chore: Update build dependencies (#9600) 2023-01-30 13:30:49 +01:00
Alex Rudenko
390685bbe5
fix: ignore not found contexts for console messages (#9595) 2023-01-30 10:22:55 +00:00
release-please[bot]
6f094d2f83
chore: release main (#9601)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-01-27 14:43:05 -08:00
jrandolf
050a7b0624
fix: atomically get Puppeteer utilities (#9597) 2023-01-27 11:58:40 -08:00
release-please[bot]
76c7f71ecc
chore: release main (#9591)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-01-26 01:50:42 -08:00
jrandolf
1980de91a1
fix: mimic rejection for PuppeteerUtil on early call (#9589) 2023-01-26 01:34:47 -08:00
Alex Rudenko
6edd996768
fix(revert): use LazyArg for puppeteer utilities (#9590)
Reverts puppeteer/puppeteer#9575
2023-01-26 09:50:06 +01:00
jrandolf
496658f029
fix: use LazyArg for puppeteer utilities (#9575)
This PR fixes the following edge case:

 - `const oldPromise = world.puppeteerUtil`. 
- setContext occurs but context is immediately destroyed, i.e.
`world.#puppeteerUtil === oldPromise` is not resolved.
- clearContext occurs due to destruction, i.e. `world.#puppeteerUtil` is
replaced (`world.#puppeteerUtil !== oldPromise`).
 - `oldPromise` never resolves.
2023-01-26 08:56:33 +01:00
Alex Rudenko
344bc2af62
fix: don't clean up previous browser versions (#9568)
Since we moved to the central binaries cache it does not make sense to
clean up old binaries automatically because multiple installations can
use different versions. We expect the users to clean the cache from time
to time until we offer a CLI for managing the browsers.

Closes #9533
2023-01-24 17:28:00 +01:00
release-please[bot]
e13e9647fc
chore: release main (#9501)
🤖 I have created a release *beep* *boop*
---


<details><summary>puppeteer: 19.6.0</summary>

##
[19.6.0](https://github.com/puppeteer/puppeteer/compare/puppeteer-v19.5.2...puppeteer-v19.6.0)
(2023-01-23)


### Miscellaneous Chores

* **puppeteer:** Synchronize puppeteer versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * puppeteer-core bumped from 19.5.2 to 19.6.0
</details>

<details><summary>puppeteer-core: 19.6.0</summary>

##
[19.6.0](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v19.5.2...puppeteer-core-v19.6.0)
(2023-01-23)


### Features

* **chromium:** roll to Chromium 110.0.5479.0 (r1083080)
([#9500](https://github.com/puppeteer/puppeteer/issues/9500))
([06e816b](06e816bbfa)),
closes [#9470](https://github.com/puppeteer/puppeteer/issues/9470)
* **page:** Adding support for referrerPolicy in `page.goto`
([#9561](https://github.com/puppeteer/puppeteer/issues/9561))
([e3d69ec](e3d69ec554))


### Bug Fixes

* firefox revision resolution should not update chrome revision
([#9507](https://github.com/puppeteer/puppeteer/issues/9507))
([f59bbf4](f59bbf4014)),
closes [#9461](https://github.com/puppeteer/puppeteer/issues/9461)
* improve screenshot method types
([#9529](https://github.com/puppeteer/puppeteer/issues/9529))
([6847f88](6847f8835f))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-01-23 17:48:02 +01:00
Ophir Back
e3d69ec554
feat(page): Adding support for referrerPolicy in page.goto (#9561)
Issue: #9394

**What kind of change does this PR introduce?**

Feature - Added support of the `referrerPolicy` parameter (from CDP's
`Page.navigate`) to Puppeteer's `page.goto`.

**Did you add tests for your changes?**

No, currently it has no meaning that isn't browser implementation based,
which might get broken in the future. If there are suggestions to tests,
please let me know so I'll add them.

**If relevant, did you update the documentation?**
Yes, the documentation of the `goto` method has been updated.

**Summary**
I wanted to contribute to this project, which I used for testing on our
environment and saw issue #9394, so I decided to resolve it :)

**Does this PR introduce a breaking change?**
No. I added the `referrerPolicy` as an optional parameter, which will
use the HTTP header `Referrer-Policy` if not provided (much like the
`referer` parameter) so it will not interfere.

Co-authored-by: Ophir Back <ophir.back@broadcom.com>
2023-01-23 11:11:20 +00:00
Alex Rudenko
a919d18ea7
chore: fix third_party build (#9554)
The third_party folder is compiled with tsc and then rolled up in-place.
This means that the next build might try to compile the file that has
been rolled up leading to build errors. It seems the safest solution is
to always rebuild third_party folder as the size is relatively small.
2023-01-20 14:12:03 +00:00
Alex Rudenko
6847f8835f
fix: improve screenshot method types (#9529)
The only drawback of adding overrides is that our documentation
generator would generate a page for each overload which might be hard to
read/find on the documentation website.

Closes #9512 #9385
2023-01-18 14:06:20 +00:00
Kyrylo
3e80667048
chore: use named import for devtools-protocol module (#9511)
<!-- Thanks for submitting a pull request! Please provide enough
information so that others can review your pull request. -->

**What kind of change does this PR introduce?**
types fix

**Did you add tests for your changes?**
No

**If relevant, did you update the documentation?**
Not relevant

**Summary**
I am updating `import`s of `devtools-protocol` to always use named
import instead of the default.
For some reason, typescript doesn't understand when it is imported as
default.

```
node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts:23:59 - error TS2694: Namespace '"/Users/kyrylo/pacakge/node_modules/puppeteer-core/node_modules/devtools-protocol/types/protocol"' has no exported member 'Target'.

23 export declare type TargetFactory = (targetInfo: Protocol.Target.TargetInfo, session?: CDPSession) => Target;
                                                             ~~~~~~


Found 1 error in node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts:23
```

**Does this PR introduce a breaking change?**
No
<!-- If this PR introduces a breaking change, please describe the impact
and a migration path for existing applications. -->

**Other information**
I am updating `import`s of `devtools-protocol` to always use named
import instead of the default.
2023-01-17 11:34:57 +00:00
Kian-Meng Ang
4437bceb6e docs: fix typos (#9476)
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2023-01-16 20:25:09 +01:00
Alex Rudenko
f59bbf4014
fix: firefox revision resolution should not update chrome revision (#9507)
Drive-by: don't override options in PuppeteerNode if they are provided.

Closes #9461
2023-01-13 10:57:48 +00:00
Alex Rudenko
06e816bbfa
feat(chromium): roll to Chromium 110.0.5479.0 (r1083080) (#9500)
Closes #9470
2023-01-12 11:31:20 +01:00
release-please[bot]
e9df6750d2
chore: release main (#9495)
🤖 I have created a release *beep* *boop*
---


<details><summary>puppeteer: 19.5.2</summary>

##
[19.5.2](https://github.com/puppeteer/puppeteer/compare/puppeteer-v19.5.1...puppeteer-v19.5.2)
(2023-01-11)


### Miscellaneous Chores

* **puppeteer:** Synchronize puppeteer versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * puppeteer-core bumped from 19.5.1 to 19.5.2
</details>

<details><summary>puppeteer-core: 19.5.2</summary>

##
[19.5.2](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v19.5.1...puppeteer-core-v19.5.2)
(2023-01-11)


### Bug Fixes

* make sure browser fetcher in launchers uses configuration
([#9493](https://github.com/puppeteer/puppeteer/issues/9493))
([df55439](df554397b5)),
closes [#9470](https://github.com/puppeteer/puppeteer/issues/9470)
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-01-12 08:21:09 +01:00
Alex Rudenko
df554397b5
fix: make sure browser fetcher in launchers uses configuration (#9493)
Issue #9470
2023-01-11 21:09:56 +01:00
release-please[bot]
5087bf771c
chore: release main (#9491) 2023-01-11 16:26:44 +01:00
jrandolf
9bf90d9f4b
fix: use puppeteer node for installation script (#9489)
Fixed: https://github.com/puppeteer/puppeteer/issues/9470
2023-01-11 16:15:53 +01:00
release-please[bot]
8f99a79ee4
chore: release main (#9466) 2023-01-09 10:58:41 +01:00
Junyan
6bc152ece0
chore: small refactor for screenshotTask (#9451) 2023-01-02 11:01:36 +01:00
Alex Rudenko
29a50764d4
chore: add BiDi integration for Chromium (#9410)
This PR adds experimental support for WebDriver BiDi by making use of
chromium-bidi to implement the BiDi protocol. The tests are disabled on
Windows due to flakiness (filed
https://github.com/GoogleChromeLabs/chromium-bidi/issues/361).
2022-12-20 14:37:31 +00:00
Alex Rudenko
842008102f
chore: add deps needed for BiDi (#9439)
Extracted new dev deps from
https://github.com/puppeteer/puppeteer/pull/9410 to avoid constance
merge conflicts. https://github.com/puppeteer/puppeteer/pull/9410 needs
some investigation on Windows.
2022-12-19 15:54:58 +01:00
jrandolf
3f52212fc8
chore: update dependencies (#9436)
Fixed: https://github.com/puppeteer/puppeteer/issues/9372
2022-12-19 15:26:58 +01:00
jrandolf
c7a063a152
feat: add element validation (#9352)
This PR adds a method to ElementHandle that validates the tag type of
that handle and returns it.

Fixed: #8579, #9280
2022-12-19 13:25:56 +01:00
Darío Kondratiuk
e3e9cc622a
fix(puppeteer-core): target interceptor is not async (#9430)
I found that the only call to `addTargetInterceptor` passes
`onAttachedToTarget` and is not async.
I also found a typo 🤓
2022-12-17 17:47:21 +00:00
release-please[bot]
848c849358
chore: release main (#9395) 2022-12-16 14:21:28 +01:00