Playwright

Latest version: v1.49.0

Safety actively analyzes 682457 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 24 of 32

1.4.1

2df39721 - fix(screencast): repeat previous frame instead of current (3890) (3904)
bf97758c - cherrypick(release-1.4): stop relying on ubuntu stock ffmpeg (3894)
8bc84ff3 - cherrypick(release-1.4): check for ffmpeg only when starting screencast (3893)
8795d465 - cherrypick(release-1.4): do not throw when 'port' option is present (3881)
64947f19 - cherrypick(release-1.4): fix compatibility to the domain module (3878)

</details>

1.4.0

Highlights

🚀 [`playwright-cli`](https://github.com/microsoft/playwright-cli) is now public!

Playwright **C**ommand **L**ine **I**nterface can:

- Open pages in Chromium, Firefox and WebKit (Safari) on all platforms
sh
$ npx playwright-cli open wikipedia.org


- Record user interactions and generate Playwright scripts
sh
$ npx playwright-cli codegen wikipedia.org

- multi-page scenarios
- text-based selectors
- downloads, uploads
- many more!

- Emulate devices, color schemes, geolocation, etc
sh
$ npx playwright-cli --device="iPhone 11" open wikipedia.org


- Use DevTools console to inspect Playwright selectors

> playwright.inspect('text=Log in')

- Generate page screenshots and PDFs
sh
$ npx playwright-cli screenshot --help


<img src="https://user-images.githubusercontent.com/284612/92536033-7e7ebe00-f1ed-11ea-9e1a-7cbd912e3391.gif">

🎥 Record videos (**experimental**)

Record videos of your scripts, every page and popup is captured!

js
const fs = require('fs');
const { chromium } = require('playwright');

(async () => {
const browser = await chromium.launch({
_videosPath: __dirname // save videos here.
});
const context = await browser.newContext({
_recordVideos: { width: 1024, height: 768 }, // downscale
});
const page = await context.newPage();
const video = await page.waitForEvent('_videostarted');
await page.goto('https://github.com/microsoft/playwright');
// ... perform actions
await page.close();
fs.renameSync(await video.path(), 'video.webm');
await browser.close();
})();


☁ New Client / Server Wire protocol

In the last release, we introduced an internal protocol to support Playwright in the none-Node environments. It is already used in the [Playwright for Python](https://github.com/microsoft/playwright-python) as well as in third party [PlaywrightSharp](https://github.com/hardkoded/playwright-sharp) and [Playwright for Go](https://github.com/mxschmitt/playwright-go) implementations.

With v1.4, we are taking it one step further and migrate Node version of the library along with its client-server mode to be based on this new protocol. So if you are using `browserType.connect` against cloud services or internally, you need to make sure that the service is also updated to v1.4 before you can use it.

Browser Versions

- Chromium 86.0.4238.0
- Mozilla Firefox 80.0b8
- WebKit 14.0

New APIs

- [`frame.page()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#framepage)
- [`elementHandle.waitForElementState(state[, options])`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#elementhandlewaitforelementstatestate-options)
- [`elementHandle.waitForSelector(selector[, options])`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#elementhandlewaitforselectorselector-options)
- **experimental** `_videosPath` option in [`browserType.launch()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#browsertypelaunchoptions), [`browserType.launchPersistentContext()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#browsertypelaunchpersistentcontextuserdatadir-options) and [`browserType.launchServer()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#browsertypelaunchserveroptions).
- **experimental** `_recordVideos` option in [`browser.newContext()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#browsernewcontextoptions), [`browser.newPage()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#browsernewpageoptions) and [`browserType.launchPersistentContext()`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#browsertypelaunchpersistentcontextuserdatadir-options)
- **experimental** [`page.on('_videostarted')`](https://github.com/microsoft/playwright/blob/v1.4.0/docs/api.md#event-_videostarted)

Breaking changes for Docker and CI users

- `root` user is used in the default Docker image https://github.com/microsoft/playwright/commit/5f6441e6dfb5d5ff0795d0b4a9b31c6b7d44d16d
- `ffmpeg` dependency is required when running Chromium

<details>
<summary><b>Issues Closed (73)</b></summary>

632 - [BUG] setInputFiles does fetch that fails due to CSP
1396 - [Question] Performance issues on Firefox?
1400 - [Feature] debugging client script
1568 - [BUG] Playwright cannot talk to Chromium on Heroku
1605 - Parrallel execution[Question]
1626 - [Feature] Playwright Recorder
1654 - [Feature] Command events/hooks
1935 - [BUG] cant create webkit context
2053 - How to use playwrite to log in as various users in another ntlm domain?
2054 - [Feature] page.waitForActionable()
2086 - [BUG] Firefox on Appveyor seems flaky
2124 - [Feature] https://playwright.dev/ should have a link to GitHub
2236 - [Feature] Ability to test printing
2321 - [BUG] Google Cloud Function error (deploy)
2363 - [Feature] Pass timeout in the BrowserContextOptions for newContext
2366 - [Feature] Allow PDF to be returned as a stream.
2450 - [BUG] Error: NS_ERROR_CONNECTION_REFUSED while navigating to http://localhost:8000
2453 - [BUG] Text selector not found in open shadow root
2526 - [BUG]Wait for navigation with url and wait until network idle fail to respond and time out
2556 - [Question] page.evaluate() issues with xpath
2559 - [Question] Running WebKit GTK on Ubuntu 20.04
2573 - [BUG] Can't click 2FA duo button.
2587 - How can I call an external function in class inside page.evaluateHandle(...) context
2603 - How to make page bring to front

1.3.0

83539d1a - chore: cut v1.3.0-post (3309)
49560411 - fix(validation): error typo "unknown" (3304)
9280037d - chore(test): add blank lines (3303)
b03b4a55 - chore: doc type nits (3283)
90819fa3 - browser(firefox): always create image buffer in headless mode (3299)
7e28c26f - browser(firefox): do not complain about SnapshotListener being cleared on Destroy (3298)
9ec02673 - chore(test): use pathToFileURL (3292)
3c2fcb7f - feat(webkit): bump to 1322 (3297)
57490b74 - test: remove describes (6) (3295)
4cbfa09c - test: remove describes (5) (3294)
1673e627 - docs: update table of contents for docs sidebar (3291)
2e65b0af - test: remove describes (4) (3286)
028dd081 - docs: update documentation for evaluation argument (3287)
8881a521 - browser(webkit): roll to 8/4 (3289)
25089760 - devops: fix typo in rustup detection (3282)
d3a40be4 - browser(firefox): reliably close the pipe (3280)
573f580f - test: remove describes (3) (3278)
de55fa64 - fix(webkit): ensure WebKit can play h264 video (3272)
402d1a6a - browser(firefox): fix win compile 2 (3277)
bb267356 - test: remove describes (2) (3276)
e481f378 - browser(firefox): fix win compile (3275)
5c4f0670 - test: remove describes (3274)
1148f0b9 - browser(firefox): implement RemoteDebuggingPipe (3273)
bad4005d - chore(devops): do not copy pw_run.sh to subfolders (3271)
b52d2597 - feat(webkit): bump to 1321 (3270)
126b1f79 - feat(rpc): run doclint against rpc client (3260)
f62e9b5d - browser(webkit): kick-off 1321 build to pick up new WebKitLibraries/win (3263)
776f0192 - fix(chromium): remove Debugger.paused event listener on coverage stop (3252)
7e8d03b0 - fix(launcher): extend list of known missing DLLs (3256)
8709ad7b - chore(tools): update PrintDeps license header (3254)
cbd33f96 - devops: avoid running publish on external contrib (3257)
ba9030e6 - docs: update api.md with more references to actionability (3255)
928a1769 - docs: update docs (3253)
3edfb2a9 - test: add REPORT_ONLY mode for test collection (3225)
9b3c90e7 - feat(webkit): bump version to 1320 (3248)
70b92e17 - docs(README): Point to hosted docs (3208)
4e5aa3c9 - feat(rpc): support chromiumSandbox option (3251)
ce0ddd27 - feat(download): create directories for saveAs (3249)
93056ed8 - chore(rpc): more protocol nits (3246)
421f6f48 - devops: use playwright-github-actionv1 (3221)
cbfdca73 - feat(launcher): check dependencies before launch on Windows (3240)
21eafbcd - test: unflake screenshot test (3245)
2f95b6e3 - feat(selectors): auto-detect xpath starting with ".." (3239)
235c5df8 - docs: add readme file for PrintDepsWindows (3241)
6297f86c - feat(rpc): run generate-channels during lint (3238)
9103ce00 - devops: fix firefox build (3237)
e7ddf868 - devops: rename docker image tag for tip-of-tree images (3222)
08916781 - fix(test): display correct error when golden files mismatch (3234)
19e8c0fe - chore(deps): bump elliptic from 6.5.2 to 6.5.3 (3235)
1728a3df - chore: minor protocol fixes (3226)
88938669 - devops(windows): add tool for printing library dependencies on Windows (3224)
cefb1b97 - feat(rpc): run fixtures.jest.js with channel (3227)
4961c2dd - devops(firefox): fixate rust and cbindgen version (3223)
e0913252 - fix: a pretty error when browser executable is not found (3220)
ae0c3a6d - docs(devops): update docs for buildbots (3218)
52eb6c60 - fix(rpc): protocol Route.fulfill (3200)
3bd97776 - feat(rpc): do not use server types and events in rpc/client (3219)
7dd9f2c2 - test(iframes): add x-frame-options display test (3217)
9132d23b - fix(screenshot): wait for stable position before taking element screenshot (3216)
c6180edb - browser(webkit): print missing dll error to the console (3214)
10225d19 - test: fix a race in the oopif test (3211)
487bc589 - devops: re-factor list-dependencies script to output per-browser results (3194)
84a17f27 - fix(rpc): Frame.dblclick is missing notWaitAfter (3210)
77b1c4b8 - devops: enable Ubuntu 20.04 tests (3178)
f111ad74 - fix: add missing `libgles2` package to launch doctor (3209)
21b1be73 - docs(selectors): fixed selector register example (3169)
6bc02f8f - feat(launchdoctor): detect missing libraries for `dlopen` (3202)
a700a7a9 - feat(chromium): roll to 07/29 (3207)
bdfde5cd - fix(firefox): roll firefox for postdata fix (3196)
fab5eba6 - fix(oopifs): translate coordinates to viewport (3201)
6cb1e037 - feat(rpc): disallow deps into rpc client from outside (3199)
3e023f6c - Revert "browser(firefox): fix color scheme not updating until reload" (3198)
d27f97ed - devops: include protocol and api.md in NPM package (3195)
14c68819 - browser(firefox): properly rewrite intercepted request (3188)
a59220b0 - test: prepare fixtures test to run with rpc (3190)
da25a5b5 - browser(firefox): do not capture cursor in screencast (3118)
576e2c52 - fix(webkit): correctly report outerWidth/Height on Mac (3133)
101dd3b1 - fix(test): make video test pass on Mac (3121)
97c10002 - api: introduce Browser.version() (3177)
e406119f - chore: add check_deps script (3182)
20b7cff9 - fix: update jpeg-js version (3179)
6fa7547c - fix(launchDoctor): add package mapping for `libvpx.so.5` (3180)
51ce47f3 - docs: use "Node.js" instead of "Node" (3176)
b2179193 - feat(rpc): replace implicit scopes with explicit dispose (3173)
9b502af4 - fix(launchDoctor): support existing LD_LIBRARY_PATH (3165)
f4e584ea - feat(rpc): align class names with api docs (3164)
d0b758a8 - test: improve autowaiting tests (3168)
98cc9db8 - chore: simplify doclint (3162)
fd2e65b7 - api: export all browsers from every package (3128)
c8c92c50 - fix(utils): fix check-availability script (3158)
d9890f11 - feat(rpc): make ElectronApplication a scope (3159)
90ff6671 - browser(webkit): disable high DPI support in Web Process on Windows (3160)
86b64a23 - feat(launchDoctor): package mappings for Ubuntu 20.04 (3155)
d4b70786 - feat: validate Ubuntu version if launching firefox (3156)
549a37b9 - browser(firefox): fix color scheme not updating until reload (3157)
415e94f4 - feat(rpc): server-side validator (3150)
1455cae9 - test(emulation): add failing test for setting dark theme in firefox (3149)
0a57c2b3 - support typescript in jest files (3132)
6a4195fd - fix(require): allow requiring internals (3153)
3162c06f - browser(webkit): outerWidth/Height on Windows (3154)
e7cca867 - fix(postData): allow overriding binary post data (3120)
bec34db6 - feat(firefox,webkit): roll both Firefox and WebKit (3145)
deccddba - feat(rpc): update BrowserServer (3112)
0f0e2acf - fix(type): unify selection behavior when typing (3141)
678d1645 - devops: normalize blob names on the CDN (3136)
79ab07bd - devops: install Media Pack on Windows bot (3137)
bbe7dbe9 - feat(installer): start downloadinb Ubuntu 20.04 builds (3126)
0b9c6473 - devops: detect completion status (3135)
ae574b30 - devops: fix webkit build on ubuntu (3134)
059004b1 - fix(test): don't leave so many zombies on sigint (3130)
74941340 - browser(webkit): correctly report outerWidth/Height on Mac (3131)
c1032ae4 - devops: simplify building webkit on linux bots (3127)
d234dac7 - chore: support esm imports (3125)
21581a4e - devops: fix buildbot names
cb77d33a - devops: add script for ubuntu 20.04 buildbot (3123)
d2f24e88 - integrate toBeGolden with jest's snapshot system (3124)
e5afd927 - chore(tests): resuse tmp file helpers from utils (3119)
63689e36 - devops: prepare buildbots to the introduction of Ubuntu 20.04 builder (3116)
2bed3129 - fix(electron): emit close events in the correct order (3111)
30e21e0b - test: fix api coverage (3114)
244ce457 - test: add a test for mouse.dblclick (3115)
c895c972 - browser(webkit): kick-off build for 3100 (3113)
08b0dc6b - feat(webkit,firefox): bump versions (3110)
1cfba7f5 - browser(webkit): periodically capture frames on mac regardless of updates
26c57846 - Rebase (3096)
3d37e458 - browser(firefox): pass actual frame duration to the codec (3101)
b271624f - browser(webkit): hardcode woff enabled on win (3103)
68c4f79b - feat(rpc): convert protocol to yaml (3102)
b1a5a021 - feat(rpc): client-side parameters validation (3069)
e56e1485 - test(postData): add a failing firefox test (3098)
65002a0a - feat(rpc): support firefox user prefs (3093)
80c0711d - feat(firefox): roll firefox to r1137 (3095)
2a08883e - chore(download): follow up to remove the redundant checks (3097)
baa09569 - Revert "test: screenshot on failure (3053)" (3091)
d8a17fb0 - api(download): Add saveAs helper (2872)
4db035df - chore: roll_browser to also update docs (3088)
ea5dfdbe - fix: re-write Chromium startup error with clear instructions (3070)
1aee8dfc - feat(rpc): align types/guids in the protocol with their pdl definition (3079)
f50f228a - browser(chromium): roll chromium to r790602 (3082)
773ee08e - chore(test): restore api coverage checks (3068)
6e75533c - chore: respect jest params in npm run wtest (3085)
2b0b0a91 - fix(misc): assorted fixes (3031)
ced0bc2d - api: make clear the use of null in page.emulateMedia (3078)
f751ab17 - browser(webkit): write screencast video to .webm instead of .ivf (3081)
c0d9ccfe - docs: update documentation on Chromium sandbox (3077)
f4b7ed55 - fix(chromium): reland support selectAll on macos (3038)
3c151d8f - fix(test): don't output babel's debug info on the bots (3073)
db4e856a - feat(rpc): use SerializedValue for CDPSession (3076)
1553f19b - chore: update error messages to match future rpc validator (3075)
18cb1c01 - feat(rpc): inline selectors.register options in the protocol (3072)
3dd61629 - feat(rpc): update Response.finished to return string instead of Error (3071)
47e30f04 - feat: introduce `chromiumSandbox` launch option (3067)
af20d270 - fix: auto-add `--no-sandbox` when running Chromium under root (3064)
2120a236 - docs(readme): add link to system requirements (3057)
3dead4c8 - feat(rpc): remove last union types from the protocol (3059)
de9570ee - browser(webkit): roll to ToT 07/21/2020 (3066)
babd0cbc - browser(firefox): fix Windows build (3065)
7f29275a - browser(firefox): use base64 to deliver post data (3063)
99658c2d - feat(bringToFront): enable on all browsers (3052)
a03f1dd1 - test: screenshot on failure (3053)
a5cb9837 - browser(firefox): write video to .webm instead of .ivf (3062)
2d59a8f9 - feat(rpc): remove some union types (3058)
5848ed8f - feat(rpc): introduce protocol.pdl (3054)
726f636b - browser(firefox): implement Page.bringToFront (3051)
eb14c471 - browser(webkit): do not mask WebGL vendor/renderer info (3050)
6db89621 - browser(firefox): smooth resize in headless (3043)
23f506b3 - fix(test): write after end in proxy test (3039)
d1f937d6 - browser(firefox): stop video recording if page closed (3040)
37740444 - devops: add script to generate shared object => package mapping (3022)
cfe3aa3d - test: add a few tests for null values (3035)
29504c08 - feat(rpc): make SerializedValue format pdl-friendly (3007)
79d5991a - doc: Improve unroute documentation (3026)
6199ba28 - devops: remove travis, appveyor, circle for now (3029)
b5f9985d - devops: make headful a matrix, collect test results (3027)
13c3f724 - test: restart worker fixtures after test failure (3021)
562e1e64 - browser(firefox): wait for file write to finish in stopVideoRecording (3020)
c45b5797 - test: support slow marker (3018)
7d2078ef - devops: bake browsers into Docker image (2990)
9a2245d3 - devops: show package names instead of missing libs on Ubuntu 18.04 (3013)
ef2a6522 - feat: support atomic browser installation - attempt 2 (3008)
a75835e0 - chore(jest): halve the max workers (3017)
68ef90d2 - test(click): split into several files (3016)
f2239b5b - test: respect CR/FF/WK/PATH env (3015)
91e1a25f - feat(rpc): gracefully close browsers in server process on disconnect (3005)
9d980119 - test: wire test commands to jest (3014)
8904f401 - chore(jest): defaultbrowsercontext.jest.js (3003)
a8216339 - Revert "fix(chromium): select all on macos should work again (3006)" (3011)
096ec4c4 - test: move fixtures to jest (3010)
24f6d19e - test: move remaining tests to jest (3009)
9790cf22 - feat(webkit): bump to 1308 (2991)
631fbce7 - fix(chromium): select all on macos should work again (3006)
9140063c - fix(accessibility): don't filter everything when the page has a title (2909)
d8bedd85 - chore: explicitly type SerializedArgument, fix rpc dispatchEvent (2988)
070a2576 - test: move all generic page tests to jest (3002)
5cf3e4f0 - feat(rpc): switch Env to use an array, split ignoreDefaultArgs (2984)
df8b2706 - chore(jest): convert browser tests to jest (3000)
1c0504ae - test: respect fixtures in describe, match image snapshots (2989)
fe95ee00 - test: group browserType.launchServer tests (2944)
16e3776a - fix(JSCoverageEntry): added scriptId and isBlockCoverage (2955)
424f11d1 - test: convert some tests to the jest+fixtures (2983)
1896e8ed - browser(webkit): send Playwright.pageProxyDestroyed for crashed tabs when deleting context (2986)
89ccf99b - browser(firefox): screencast for Mac headful (2985)
056f0e29 - feat(rpc): ensure that error stack traces point to the user code (2961)
b890569a - feat(rpc): move leftover extraHTTPHeaders to HeadersArray (2980)
439e048a - feat(rpc): migrate DeviceDescriptors payload to an array (2981)
4c8ba3ed - chore: remove cli (2976)
513899a3 - test: add a test for arbitrary options (2977)
ecc130c6 - test: convert evaluation.spec to jest+fixtures (2968)
7080767f - devops: move CircleCI to run against dev version of Docker container (2969)
a802b4a6 - feat(ff,wk): bump revisions (2967)
198ecee8 - api(exposeBinding): allow handles in the binding result (2970)
aa4c893b - feat(rpc): implement waitForNavigation on the client (2949)
824f6491 - devops(docker): fix docker for chromium (2966)
177873e3 - chore(deps): bump lodash from 4.17.15 to 4.17.19 (2964)
d750ba38 - fix(docker): add missing dependencies to docker image (2963)
b7f7ba92 - browser(firefox): screencast support for Windows headful (2965)
19cd96c4 - test: add the jest-circus experimental runner (2962)
0b921814 - feat: validate browser dependencies before launching on Linux (2960)
c51ea0af - feat(rpc): remove PageAttribution from the protocol, attribute on the client side (2957)
7f617157 - feat(rpc): use headers array in the protocol (2959)
31893036 - browser(webkit): close crashed pages on exit (2958)
0aff9bef - browser(firefox): screencast for headless mac (2956)
4a00e5c4 - test: remove flaky test for binding on error pages (2952)
2d5c0328 - feat(rpc): return objects for every protocol command (2950)
46a625dc - feat(firefox): bump to 1127 (2951)
1b84ec90 - fix(binding): dispatch binding after the page has been initialized (2938)
89ca2db3 - browser(firefox): kick off new build after last commit (2948)
de403291 - browser(firefox): add new files for headless screencast (2947)
bf6f22d8 - browser(firefox): basic screencast for headless (2931)
d5bd4599 - chore(rpc): remove some paths from the channel (2934)
cc8fe5a7 - feat(rpc): support electron (2933)
9fdb3e23 - feat(rpc): support selectors (2936)
6c75cbe5 - docs: fix link to github workflow in releasing doc
a06ba1c7 - devops: add utility to count compressed docker image size (2920)
d58a57c4 - devops: fix docker publishing (2939)
b7d68d1c - devops: automate Docker image publishing (2937)
65d45c18 - feat(rpc): introduce Waiter for various waitFor implementations (2935)
b2d820a1 - docs(emulation): separate section for dark mode (2915)
9fd30e58 - feat(rpc): ensure feature-detection works as before (2898)
21517576 - feat(rpc): run rpc tests in-process and out-of-process (2929)
0346c3a1 - chore: update release notes draft gen (2932)
6d94c920 - feat(rpc): support no-serialization mode, run hook tests (2925)
66744584 - feat(rpc): log api calls into LoggerSink (2904)
c63b706a - fix(events): avoid firing events after close/detach (2919)
fc686141 - feat(rpc): merge DispatcherScope and Dispatcher (2918)
ebb4c332 - test: mark 2 chromium not important win tests as failed (2914)
982e5e35 - devops: collect artifacts from browser locations (2913)
21807bcd - feat(webkit): roll WebKit to r1306 (2899)
a403d4be - fix(firefox): fix launching firefox without dependencies (2900)
1cebf875 - chore(docker): skip "recommended" dependencies (2917)
bce4b1ae - chore(docker): trim some of the gstreamer dependencies (2897)
631f76df - chore(rpc): remove union types from page and handles (2912)
b6fd4dc5 - feat(rpc): merge ChannelOwner and ConnectionScope (2911)
54f9a0dd - test: update headfull chromium expectations after a recent roll (2908)
d5614652 - devops: use matrix in GHA, add non-linux rpc (2907)
c89c30e3 - fix(popup): do not report frameless pages (2910)
c21b6373 - feat(webkit): bump to 1305 (2893)
a91ec9a1 - feat(rpc): pass more tests (2896)
70394093 - test: skip devtools test with USES_HOOKS (2895)
cb8b1bca - browser(webkit): Reduce binary size of WebKit Linux build bundles (GTK and WPE) (2880)
e90ba262 - fix(context): fire close event for persistent contexts (2891)
8fe29feb - feat(rpc): support more chromium-specific apis (2883)
b3ca4afd - chore: misc test fixes (2857)
6209d14f - chore: misc test fixes (2888)
c3ac0371 - test: add test to validate user-agent sanity (2887)
b93e0994 - browser(webkit, firefox): bump versions (2866)
458aaa50 - feat(chromium): roll Chromium to r786218 (2879)
71713c95 - fix(webkit): Fix default User-Agent (2886)
f5911de9 - browser(webkit): release GTK app only if it has been referenced (2885)
83bba08c - browser(webkit): fix touch events on mac after last roll (2884)
040c6a6a - chore(jest): run tests with jest (2754)
6a1bd3ae - docs: add debugging docs page (2865)
8611ee8d - chore(testrunner): typescript test files (2751)
e97badcc - docs(CONTRIBUTING.md): Add build step (2869)
760283ea - testrunner: fix default environment name (2870)
0c80c227 - feat(rpc): plumb CDPSession (2862)
2a86ead0 - chore: replace FrameTask with internal events on Frame (2856)
35cb20d5 - test: unflake recorder tests (2808)
baaa6549 - browser(firefox): resize window when changing viewport (2861)
64f57216 - browser(webkit): roll to 07-07-2020 (2863)
6ed8b5fc - chore(eslint): lint for copyrights on files (2858)
de7969f0 - docs(api/input): fix typo (2837)
9640dbf2 - browser(firefox): exclude browser controls from screencast (2855)
39144dd5 - feat(webkit): bump to 1302 (2852)
0380400d - chore: refactor waiting for lifecycle events (2851)
db3439d4 - chore: introduce DocumentInfo (2765)

</details>

1.2.1

c30eca94 - docs: add debugging docs page (2865)
8c3ad058 - fix(webkit): Fix default User-Agent (2886)

</details>

1.2.0

Highlights

![pwdebug-1-4x](https://user-images.githubusercontent.com/284612/86941847-4b3e8680-c0f9-11ea-9d28-33bd9982b507.gif)

- **New debug mode**: Use the `playwright` object in browser dev tools to inspect selectors. Learn about [Playwright debugging tools](https://playwright.dev/#version=master&path=docs%2Fdebug.md&q=).
- **Playwright Docker image**: The [official Playwright docker](https://hub.docker.com/_/microsoft-playwright) image is now available on Docker Hub: `docker pull mcr.microsoft.com/playwright:bionic`

Browser Versions

- Chromium 85.0.4182.0
- Mozilla Firefox 78.0b5
- WebKit 14.0

New API methods
[`page.screenshot()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#pagescreenshotoptions) method now supports `timeout` option
[`page.selectOption()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#pageselectoptionselector-values-options) method now accepts `null` as values
[`page.scrollIntoViewIfNeeded()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#elementhandlescrollintoviewifneededoptions) now accepts options to configure actionability checks
[`page.selectText()`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#elementhandleselecttextoptions) now accepts options to configure actionability checks

New Environment variables
[`PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#environment-variables) host to specify Chromium downloads
[`PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#environment-variables) host to specify Firefox downloads
[`PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST`](https://github.com/microsoft/playwright/blob/v1.2.0/docs/api.md#environment-variables) host to specify WebKit downloads

Troubleshooting
- ⚠️ WebKit now requires a new [set of dependencies](https://github.com/microsoft/playwright/blob/db3439d4117a7f3d93821e38ccbd26051b18abc7/docs/docker/Dockerfile.bionic#L17-L38) to launch on Ubuntu Bionic.

<details>
<summary><b>issues closed (54)</b></summary>

810 - [Feature] Proxy options support?
1050 - [BUG] Calling waitForNavigation twice doesn't work
1067 - [BUG] Keyboard shortcuts on mac do not work
1124 - [Question] How to update firefox default prefs
1131 - [Feature] firefox: instrument file:// process in firefox
1140 - [REGRESSION]: getting "Protocol error (Target.setDiscoverTargets): Target closed" after upgrading from v0.10 on CentOS7
1235 - [BUG] Frames show up wrong on Firefox after navigating
1245 - [BUG]: Failed to launch browser
1289 - [BUG] Overriding Location Problem
1292 - [BUG] Service Workers are flaky
1330 - [Feature] Accessor for browser type from context
1336 - Any way to have playwright use our own set of browsers by default?
1349 - [Question] Modify Context Options with launchPersistent
1421 - [BUG] Protocol error (DOM.describeNode): Cannot find context with specified id
1426 - [Feature] Debugging devtools panels
1482 - [Feature] official Docker image on Docker Hub
1523 - [Feature] `launchPersistentServer` Launches persistent storage browser server
1552 - [BUG] firefox's `node.scrollIntoView({behavior: 'instant'})` is not instant :(
1639 - [Feature] support 'private mode' In Firefox
1686 - [Feature] request.postData to return json string instead of urlsearchparams
1730 - [Question]Playwright in Kerberos environment
1848 - Playwright works locally but fails on CI
1914 - Playwright: Roadmap
1941 - [BUG] Doesn't work with mac10.13
1959 - [BUG] dumpio no longer seems to be an option when launching
1967 - [BUG] Possible issue with downloads
1985 - [Question] Attaching playwright to an existing browser window?
1997 - [Feature] Better output from failure with headless=false
2061 - [BUG] Firefox doesnt open
2131 - [Question] Socks5 Support
2134 - [Feature] page.setDeviceScaleFactor
2146 - [Question] Debugging Failed Browser Start-up in Docker Container
2182 - [Test] Firefox 'ElementHandle.boundingBox' fails in HEADFUL on bots
2196 - [BUG] context.setHTTPCredentials(null); does not clear credentials
2200 - [BUG] Click operation doesn't timeout when there is an alert
2244 - [BUG] Throwing unhandled rejection errors when Firefox navigates to neterr page
2261 - [Feature] Auto close browser when launcher process exits
2270 - [Feature] Add Playwright to DevDocs.io
2292 - [BUG] Unable to switch frames when using chromium
2316 - [BUG] Bypass CSP bit can be cached on Firefox
2344 - [Feature] Chromium does not show file chooser dialog
2354 - [Feature] Make browser binaries available for manual installations
2379 - [BUG] Firefox cross-page promises are not resolved
2429 - [BUG] run-workers not working with docker container
2437 - [BUG] The official Docker image doesn't work with non root user
2451 - [BUG] Firefox page.goto broken for sites with service worker
2510 - [BUG] incorrect focus behavior for webcomponents with delegate focus option
2527 - [BUG]Waitforselector fail to read the element in execution but works when debugging.
2528 - [Question] - How can you obtain the current HTML content of the page you are on?
2537 - [BUG] addInitScript and exposeFunction/Binding don't work for new OOPIFs
2539 - [BUG] Firefox doesn't install when using a installler made with electron-builder.
2540 - [BUG] playwright-core has no main entry
2560 - [Question] Succint list of pro and cons versus Cypress
2563 - [Question] How to access Print dialog?
</details>

<details>
<summary><b>commits (188)</b></summary>

15ddb5d3 - chore: update webkit version (2804)
ef125e13 - chore: cut v1.2 (2850)
ea9b82d2 - browser(webkit): properly disconnect signal handlers when closing browser (2849)
fc18f2f3 - browser(firefox): support screencast frame size and scale configuration (2847)
ac2185a9 - test: update http credentials tests (2806)
06957e8e - feat(firefox): bump to 1122 (2844)
6bbe7eb0 - chore(rpc): inline options parameter in all rpc channels (2842)
8d111a88 - docs(readme): add locale to geo example (2845)
241d39f9 - chore(rpc): exit server upon pipe disconnect (2836)
2540805b - chore(rpc): misc serializer improvements (2832)
7f60c4df - feat(webkit): roll webkit to r1301 (2827)
3dd09f04 - browser(webkit): close context menu on Windows when closing page (2825)
6aef045f - browser(firefox): create new window for each new page (2823)
b1b6d3f5 - devops: add signature to BUILD_NUMBER to force rebaseline (2810)
605257b1 - browser(firefox): Win build fix (2822)
05b019f1 - reland: testrunner: make environment a simple class (2812)
024cb1dd - browser(firefox): basic screencast implementation for GTK (2818)
6329cbbb - chore: remove dead code from test (2819)
3d403cb2 - browser(webkit): force wpe to use the complex text path (2801)
756d5373 - feat(webkit): roll WebKit to r1298 (2813)
f484b20e - fix(recorder): allow node to close gracefully (2817)
cb0c037e - test(chromium): enable selectall test on mac (2788)
f9f3aeb0 - test: add failing test for context menus that prevent browser close (2811)
5484217c - chore: make //utils/roll_browser.js executable
43cdb3ba - browser(webkit): revert 2755 (2809)
19abc9bd - fix(dialogs): let click timeout, log information about dialogs (2781)
0d16b16e - fix(firefox): unskip worker error test (2805)
e12e2451 - test: disable flaky test on chromium mac (2807)
9d6eaadb - fix(navigation): ensure that goBack/goForward work with file urls (2792)
c15dc94f - chore(rpc): explicitly create page dispatcher (2799)
d484e04a - test(route): add another route test (2800)
14162f89 - browser(webkit): let web page close when it has open context menu (2802)
c188118d - browser(webkit): do not show popup menu in mac headless (2803)
e8e45e84 - feat(dom): migrate innerText, innerHTML and getAttribute to tasks (2782)
ff1fe3ac - fix(close): actually mark the page as closing (2798)
5c4751d5 - chore: generate protocol during browser roll (2719)
991e8d42 - browser(firefox): report errors from workers (2797)
c25fc495 - chore(rpc): scope client-side handles (2796)
c4e3ed85 - browser(firefox): handle the case when inner window is restored from history (2791)
e467ea57 - revert: testrunner: make environment a simple class (2769) (2790)
bd8e0a7b - feat(webkit): roll webkit to r1295 (2785)
e480ec3f - feat(chromium): roll to r782078 (2714)
cd180474 - browser(webkit): don't show context menus for headless windows (2755)
6afb38d3 - devops: remove folder creation in github actions (2779)
95538e73 - chore(rpc): move classes around, fix tests, respect dispatcher scopes (2784)
87516cb3 - chore(rpc): make dispatcher creation and lookup explicit (2783)
10a9eef8 - chore(rpc): add a channel bot (2773)
922cbe67 - chore: roll https-proxy-agent to v5 (2777)
d6338b0c - docs(webkit): update core dump analisys instructions (2778)
f00fc076 - chore: fix utils/check_availability.js
1605cb45 - testrunner: make environment a simple class (2769)
c6df8fd5 - browser(webkit): abort interception if loader reached termial state (2776)
55a07dbf - fix: follow-up with offline comments on implementation of deprecation (2770)
e29f7b9f - chore(rpc): support workers, file chooser, browser server (2766)
5bb018e0 - chore(rpc): attribute calles to page, ignore USES_HOOKS (2764)
3a7d629c - chore(rpc): pass more network tests (2762)
0963c197 - chore: deprecate method `context.setHTTPCredentials()` (2763)
38236b4f - fix(close): ensure close() can be called twice (2744)
1fa9d309 - fix(evaluate): awaitPromise when Promise is overwritten (2759)
e154e083 - docs(ci): fix gitlab setup
c8076121 - docs: add new doc for multi-page scenarios (2737)
69127ad8 - docs(docker): update to use official image (2760)
28a9f55a - chore(devops): use official docker image on circleci (2756)
18f9b4a2 - test: add failing test for navigation corner cases (2746)
e920fde9 - chore(rpc): bootstrap demo for rpc (2741)
4e94bdab - chore(rpc): serialize rpc into actual wire string (2740)
3e33523e - chore(rpc): clear the browsercontext test spec (2739)
db12ddeb - chore(rpc): clear the page test spec (2736)
aad6301a - docs(ci): update intro, caching section, add gitlab (2735)
0cb5e95b - docs(frames): improve snippet to get frame (2734)
6393407a - chore(rpc): support downloads, dialogs, persistent context (2733)
b54303a3 - fix(textContent): make page.textContent(selector) atomic (2717)
43f70ab9 - test: add more failing tests with react recycle (2731)
02f75017 - chore(rpc): strongly-type the initializer, remove __init__ phase (2729)
18d6140d - chore(rpc): support routes and bindings (2725)
064a0a11 - fix(webkit): do not swallow errors when returning by value (2723)
71618a9e - chore(rpc): implement input, a11y, console (2722)
ab6a6c9b - chore: run most actions through page._runAbortableTask (2721)
bab68332 - chore: introduce the experimental rpc implementation (2720)
5d5cf26a - fix(logs): streaming logs from InjectedScriptPoll without exception (2712)
807dc1f3 - fix(crash): improve documentation for crash, reject waitForEvent (2694)
bc305077 - chore: prepare library types for rpc (2706)
1865c568 - testrunner: support globalSetup and globalTeardown hooks. (2686)
f111974a - chore: prepare parsed selectors to more tasks (2696)
39ce35e1 - fix(errors): strict error handling around element operations (2567)
8fbd6470 - fix(playwright-core): bring back index.js in playwright-core (2691)
355305d3 - feat(screenshot): accept timeout, migrate to Progress, wait for visible (2679)
924a8841 - docs: linux core dump instructions (2690)
4af8c683 - docs: improve snippets for console logs (2684)
07dbd0ba - testrunner: teach runHook to accept hook arguments (2682)
22b4a6bd - devops: enable coredumps for headful tests (2678)
c61e2d6c - testrunner: drop nested test environments (2681)
fca514d7 - chore: move non-trivial types out of types.ts (2680)
d0a6e1a6 - fix(dom): make selectText and scrollIntoViewIfNeeded wait for visible (2628)
a8eaee31 - docs: add Moon to showcase.md (2677)
5a525db0 - feat(firefox): bump firefox to 1116 (2668)
6cec2dfb - docs: add assertions doc (2585)
68706783 - browser(firefox): do not fail when decoding large responses (2671)
3d49af25 - browser(firefox): fix redirect interception (2672)
bb344180 - devops: do cache busting for APT (2656)
40b1a146 - browser(webkit): support screencast scale on Mac (2655)
9000ccb3 - fix(click): don't timeout when innerWidth is modified (2669)
98011351 - browser(webkit): screencast on windows with accelerated compositing (2670)
7af20162 - chore(webkit): add libvpx Windows build instructions (2649)
2fa32f7e - browser(firefox): rewrite network instrumentation (2638)
eac7dab8 - fix(cors): allow intercepting cors requests on chromium (2643)
2251f9be - feat(webkit): bump to 1290 (2652)
e0ac11c0 - browser(webkit): fix loader after terminal state access (2654)
2bfb675c - browser(webkit): make material icons render on Windows (2650)
5043a36f - browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (2541)
c8a963d2 - feat(webkit): bump to 1289 (2639)
5c6c6591 - fix(webkit): update Docker file to include gstreamer (2636)
53f7f4e4 - test: add redirect+extraHTTPHeaders test (2637)
d0336ea5 - fix(network): disallow intercepting redirects (2617)
2511cb4c - devops: drop playwright-electron dependency on playwright-core (2634)
636e2744 - browser(webkit): revert WebCore agent and frame-based implementation (2635)
20b23cd2 - docs: fixed various typos (2633)
38089aba - browser(webkit): support screencast on Mac (2631)
05863bff - feat(firefox): roll to r1112 (2629)
f61e8529 - docs: update docs for per-browser download hosts (2630)
fb84e19b - feat(types): autocomplete for default devices (2198)
b88fabab - test: add another test for browserContext.addInitScript (2285)
63924d9a - feat(install/download-hosts): allow multiple per browser (2452)
971bd889 - fix(chromium): do not bring page to front before screenshot (2614)
c544bffe - browser(firefox): stop faking intercepting redirects (2618)
02704e08 - Update upstream_status.md
f581e848 - fix(css selector): handle missing spaces between [] and > (2612)
082bb3c3 - browser(firefox): rely on upstream permission separation per contexts (2613)
090d4506 - docs(core-concepts.md): fix typos (2608)
cc84506c - feat(electron): add a test for clipboard access (2606)
4834e565 - fix(firefox): bump firefox and fix network with service worker (2610)
f9633ea9 - fix(scrollIntoView): ensure similar behavior across browsers, handle errors (2599)
7ba72ce3 - browser(webkit): support screencast on Windows (2590)
277d50e3 - feat(webkit): roll WebKit to 1286 - interception (2601)
dab715b1 - browser(webkit): follow-up to the roll, fix the merge (2600)
ab5f5c8b - browser(firefox): another way to report elements without layout object (2597)
03690627 - browser(webkit): roll to Tot 6/16/2020 (2596)
9bc7139c - browser(webkit): fix windows and mac unified builds after roll (2595)
f2af30cf - browser(firefox): properly instrument requests intercepted by service worker (2594)
c220fc7f - chore(logs): rework logs for simplicity (2592)
4b2efd6e - browser(webkit): reference GApplication to keep browser alive on GTK (2593)
898f1157 - browser(webkit): print context leaks when closing browser (2591)
e6a4cff0 - browser(webkit): roll to 06/15 (2581)
59d0f872 - test(recorder): add recorder sanity tests (2582)
9e7ea3ff - browser(firefox): Page.scrollIntoViewIfNeeded throws for invisible elements (2584)
1bc04a08 - docs: using DEBUG=pw:api (2578)
1c7a8952 - chore(cli): add recording mode (2579)
fd9b1031 - docs: add actionability doc (2577)
f2c47b1d - feat(cli): introduce basic playwright CLI tool (2571)
456c865f - docs(playwright-electron/README.md): fix comment mistake (2568)
61b11252 - chore(debug): various debug mode improvements (2561)
2659910b - docs: make environment vars snippets cross-platform (2564)
6530c18a - docs: improvements to ci provider configs (2565)
98544381 - test: disable flaky cookie test on Chromium Win (2562)
d4c46686 - chore: explicitly plumb various errors through the retries (2554)
39019e88 - test: unflake interception test (2558)
c4e8720e - feat(debug): generate preview for ElementHandle (2549)
defeeb9c - test: await all promises in upload test (2557)
1bf9e65e - fix(log): include log name in progress recording (2550)
fb0b910e - Bump to 1280 (2544)
49cb96c4 - devops: enable core dumps in the subshell (2555)
bda6203a - browser(webkit): configure video scale (2553)
894826de - chore: form the debug script for authoring hints / helpers (2551)
48088222 - devops: enable core dumps on Linux CI (2552)
7ddf6641 - test: add a failing test with React rerender (2545)
dadfe3e8 - browser(webkit): add more missing libraries to WPE build (2546)
e287f194 - feat(debug): add basic recording helper infra (2533)
5e97acde - fix(oopif): make Page.addInitScript and Page.exposeBinding work for oopifs (2542)
0e62d727 - browser(webkit): add missing wayland library to WPE build (2543)
969803fa - feat(browser): roll Firefox to r1108 (2532)
855ffa46 - browser(webkit): fix windows build (2536)
17433d18 - chore: verify launch options (2530)
de893c65 - browser(webkit): speculative downloads-related crash fix (2535)
6f048438 - browser(webkit): preserve compositing mode in WPE web process (2508)
89d1b52f - chore: revert atomic install (2534)
c99f0d1f - feat(debug): more logs while waiting for stable, enabled, etc. (2531)
903de258 - chore(websocket): extract common socket part (2506)
1bb33650 - chore: remove ExtendedEventEmitter and inline waitForEvent (2529)
8ee19d53 - feature(webkit): roll WebKit to 1273 (2514)
d7f867db - browser(webkit): screencast for WPE (2516)
e3f34f6a - fix(selectOption): allow passing null to unselect all (2405)
24316ad2 - chore: fix emojis for CR and FF in Dockerfile (2522)
3bff1368 - chore: bump firefox build number
31da3d37 - browser(firefox): roll Firefox to TOT beta branch as of Jun 9, 2020 (2520)
4d069dda - feat: avoid side effects after progress aborts (2518)
4faa1306 - test: dump all logs in DEBUGP mode (2517)
6d8f39b3 - browser(webkit): return proper error upon missing page proxy (2519)
80705ff5 - chore: simplify logging a bit (2512)
</details>

1.1.1

391915e3 - chore: revert atomic install (2534)
</details>

Page 24 of 32

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.