Dmitry Gozman
aae3f1e75d
feat(default context): support selected options for default context ( #2177 )
2020-05-21 15:13:16 -07:00
Pavel Feldman
2ede4bce12
chore: further unify launching and connection ( #2320 )
2020-05-21 09:43:10 -07:00
Andrey Lushnikov
f24696be62
feat: add page convenience methods for textContent and getAttribute ( #2235 )
...
This patch adds:
- `page.innerText()` / `frame.innerText()`
- `page.innerHTML()` / `frame.innerHTML()`
- `page.textContent()` / `frame.textContent()`
- `page.getAttribute()` / `frame.getAttribute()`
Fixes #2143
2020-05-18 17:58:23 -07:00
Pavel Feldman
2bd427ad1d
feat(exposeBinding): a more powerful exposeFunction with source attribution ( #2263 )
2020-05-18 14:28:06 -07:00
Pavel Feldman
f63ea3ffd2
feat(downloads): expose suggested filename ( #2062 )
2020-05-12 19:23:08 -07:00
Arjun Attam
84f966c301
docs: fix typo
2020-05-12 18:32:47 -07:00
Dmitry Gozman
6361e07ae4
fix(docs): clarify repeating calls to setHTTPCredentials ( #2212 )
2020-05-12 18:29:55 -07:00
Andrey Lushnikov
5d49c5d612
docs: refer to "working with selectors" from all 'selector'
arguments ( #2213 )
...
The "working with selectors" section elaborates on rules that we use
to parse selectors.
Fixes #2197
2020-05-12 16:15:14 -07:00
Andrey Lushnikov
b4acc56d63
docs(api.md): elaborate on visibility options in waitForSelector ( #2208 )
...
Fixes #2202
2020-05-12 15:46:19 -07:00
Pavel Feldman
d487a315b9
doc: fix the route docs ( #2174 )
2020-05-11 08:22:48 -07:00
Vasilii Artemchuk
4c4fa8d38c
docs: some syntax fixes ( #2116 )
2020-05-07 12:33:35 -07:00
Pavel Feldman
41de5bc388
Revert "chore: mark v0.18.0 ( #2122 )"
...
(should go only into branch)
This reverts commit 19e8c327ba
.
2020-05-05 16:55:55 -07:00
Pavel Feldman
19e8c327ba
chore: mark v0.18.0 ( #2122 )
2020-05-05 16:52:54 -07:00
Vasilii Artemchuk
52aa929922
docs(api.md): emulateMedia syntax fixes ( #2104 )
2020-05-04 17:48:18 -07:00
Vasilii Artemchuk
ef9eed8702
docs(api.md): emulateMedia example fix ( #2100 )
2020-05-04 15:06:33 -07:00
Pavel Feldman
bcce48362a
api(waitForSelector): make "state: visible" default, includes rename to state ( #2091 )
2020-05-04 11:03:44 -07:00
Andrew Healey
06273ef955
docs(api.md): Fix wording of javaScriptEnabled description ( #2050 )
2020-04-29 22:21:07 -07:00
Dmitry Gozman
953dd36d38
feat(api): remove 'mutation' polling option ( #2048 )
...
It is not compatible with shadow dom.
2020-04-29 21:34:14 -07:00
Dmitry Gozman
3fefa7b7ff
docs: fix docs for $foo methods that assumed css selectors ( #2039 )
2020-04-29 15:24:59 -07:00
Dmitry Gozman
3a29631e9f
docs: improve docs around actionability and visibility ( #2036 )
2020-04-29 14:18:01 -07:00
Dmitry Gozman
031587a9cf
fix(visibility): unify visibilty checks ( #1998 )
...
This applies a common definition of visibility to clicks and waitfors:
- non-empty bounding box - implies non-empty content and no display:none;
- no visibility:hidden.
2020-04-27 15:40:46 -07:00
Dmitry Gozman
4b0d977489
fix(docs): clarify the single/double quotes usage in text selector ( #2002 )
2020-04-27 14:16:13 -07:00
Pavel Feldman
7f8aa703dd
api(waitFor): remove waitFor, use specialized wait functions ( #1995 )
2020-04-27 12:08:29 -07:00
Marcin Pietruszka
3c71125d7f
Fix typo ( #1961 )
2020-04-24 08:48:19 -07:00
Pavel Feldman
c1c0237d4e
api(dispatchEvent): page, frame and handle versions added ( #1932 )
2020-04-23 14:58:37 -07:00
Joel Einbinder
671cfa0a54
fix(types): support objects with typed keys and values ( #1752 )
...
There are a few places in the API where we use objects as maps. This patch adds them to docs and the types.
For `env`, we accept booleans and numbers as well because they are often used for their string values.
2020-04-23 14:45:57 -07:00
Andrey Lushnikov
89007c8f3d
devops: make README.md to always reflect tip-of-tree ( #1911 )
...
As of today, we have tooling in place that makes sure that our
main README.md **roughly** represents the state of the last release:
- browser versions and browser badges are those that we released last
- links to our API point to the last-released API version
This tooling, however, relies on the fact that every release is a sequence
of two consecutive commits:
- one commit that sets `package.json` version to a released version
- the following that "bumps" version to `-post`.
This release process is very unfortunate, because:
- it made releasing from branch impossible
- it required "freezing" commits to the master branch
This patch removes all the tooling and transitions `README.md` to always
represent tip-of-tree state. We will fully rely on
`https://playwright.dev ` to show versioned docs.
2020-04-21 22:08:56 -07:00
Andrey Lushnikov
89b2fe5f38
feat: introduce PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD
env variable ( #1892 )
2020-04-21 16:47:16 -07:00
Pavel Feldman
5b085fdf03
feat(logger): introduce context-level logger ( #1896 )
2020-04-20 23:24:53 -07:00
Pavel Feldman
0656771167
api(networkidle): remove networkidle2 ( #1883 )
2020-04-20 16:52:26 -07:00
Pavel Feldman
1f43ae692f
feat(logging): introduce logger sink api ( #1861 )
2020-04-20 07:52:26 -07:00
Pavel Feldman
a248430af8
reapply api(waitUntil): remove waitUntil options from the actions ( #1842 )
2020-04-16 20:31:04 -07:00
Andrey Lushnikov
31460b18b8
Revert "api(waitUntil): remove waitUntil options from the actions ( #1834 )" ( #1840 )
...
This reverts commit d0b8710670
.
Reason: multiple test failures on all Linux bots
- https://app.circleci.com/pipelines/github/microsoft/playwright/613/workflows/50dc6e2d-23b0-41d2-9765-42983b0ed91d/jobs/610
- https://travis-ci.com/github/microsoft/playwright/builds/160648417
- https://github.com/microsoft/playwright/pull/1839/checks?check_run_id=594015893
2020-04-16 18:46:10 -07:00
Pavel Feldman
d0b8710670
api(waitUntil): remove waitUntil options from the actions ( #1834 )
2020-04-16 16:04:10 -07:00
Pavel Feldman
2280126344
api(setInputFiles): introduce page/frame helpers, document, break compat ( #1818 )
2020-04-16 10:25:28 -07:00
Andrey Lushnikov
58bb874299
docs(network): introduce network docs ( #1822 )
...
* docs(network): introduce network docs
* update title
2020-04-16 09:39:33 -07:00
Dmitry Gozman
ba36860d79
feat(api): page.unroute to remove routes ( #1813 )
2020-04-15 19:55:22 -07:00
Pavel Feldman
50680dee57
docs(input): start crafting the input cheat sheet ( #1804 )
2020-04-15 10:53:47 -07:00
Andrey Lushnikov
0ba823dd6f
feat: introduce page.on('crash')
event ( #1782 )
...
Currently, whenever the page crashes, it emits an `'error'` event.
Error event is a special type of event in node.js; if unhandled,
it crashes the process.
Instead of emitting `'error'` event, this patch switches to emitting
`'crash'` event. Playwright users are free to handle the event
however they like, or just to ignore it.
2020-04-15 00:04:35 -07:00
Pavel Feldman
da683b2752
feat(selectAll): allow selecting all in the inputs and in the plain dom ( #1783 )
2020-04-14 17:09:26 -07:00
Pavel Feldman
c2fc4035ba
doc(keyboard): document Shift+ArrowLeft notation ( #1771 )
2020-04-14 13:11:02 -07:00
Lucas Willems
bb0b6cd90a
Update api.md ( #1773 )
2020-04-14 08:38:59 -07:00
Andrey Lushnikov
abf1219fc1
docs(api.md): string values should be quoted ( #1766 )
2020-04-13 18:58:03 -07:00
Pavel Feldman
78abf5cb40
feat(api): add getAttribute, innerText, innerHTML, textContent ( #1717 )
2020-04-09 16:49:23 -07:00
Andrey Lushnikov
b385ea8415
chore: bump version to v0.13.0-post ( #1721 )
2020-04-08 17:30:45 -07:00
Andrey Lushnikov
17e645ad34
chore: mark version v0.13.0 ( #1720 )
2020-04-08 16:53:44 -07:00
Andrey Lushnikov
d21e2c9b46
docs(api.md): clarify downloads lifetime ( #1698 )
2020-04-07 17:13:42 -07:00
Pavel Feldman
c6f580faf8
chore: migrate from timeouts to deadlines internally ( #1695 )
2020-04-07 14:35:34 -07:00
Andrey Lushnikov
4cf5cf6c0e
docs(api.md): fix link to download class
2020-04-07 00:27:08 -07:00
Pavel Feldman
3dc14eddaf
fix(colorScheme): make light scheme default on all browsers ( #1668 )
2020-04-06 19:49:33 -07:00
Pavel Feldman
75571e8eb8
feat(downloads): support downloads on cr and wk ( #1632 )
2020-04-02 17:56:14 -07:00
| |三 \/ | |\|
2ac69670cd
docs(api.md): remove dead link to FAQ section ( #1640 )
...
The FAQ section part, where `https://github.com/Microsoft/playwright/#q-why-doesnt-playwright-vxxx-work-with-chromium-vyyy ` points to, doesn't exist anymore. This pull request simply removes the dead link.
2020-04-02 10:16:01 -07:00
Arjun Attam
1f0b7bff04
docs(api): update ordering for $eval and $$eval ( #1623 )
2020-04-01 13:09:24 -07:00
Joel Einbinder
6053784188
feat: add missing slowMo to launchPersistentContext ( #1597 )
...
`slowMo` was missing in `launchPersistentContext`, and I refactored the types a bit.
2020-03-31 16:34:59 -07:00
Arjun Attam
2402aade78
docs(api): elaborate on fill vs type ( #1608 )
2020-03-31 13:42:07 -07:00
Andrey Lushnikov
eabba567bc
docs(api.md): clarify jshandle.getProperties()
method ( #1594 )
...
Fixes #1592
2020-03-30 16:16:28 -07:00
Stuart Lang
a007caef5c
Fixed small typos ( #1588 )
2020-03-30 09:03:13 -07:00
Dmitry Gozman
bce8fc1343
feat(selectors): allow running selectors in main world ( #1533 )
2020-03-25 20:59:48 -07:00
MeiK
c7b3744b3b
docs(api.md): fix typo ( #1529 )
2020-03-24 20:10:58 -07:00
Andrey Lushnikov
dc7d221722
chore: bump version to v0.12.1-post ( #1516 )
2020-03-24 12:08:02 -07:00
Andrey Lushnikov
a7ca2fef09
chore: mark version v0.12.1 ( #1515 )
2020-03-24 11:28:07 -07:00
Dmitry Gozman
ed6e0d5513
chore: bump version to v0.12.0-post ( #1512 )
2020-03-24 10:46:35 -07:00
Dmitry Gozman
08b94ee67b
chore: mark version v0.12.0 ( #1497 )
2020-03-24 10:40:02 -07:00
Andrey Lushnikov
b778789ba8
feat: re-make global browser installation ( #1506 )
...
This patch removes the `PLAYWRIGHT_GLOBAL_INSTALL=1` variable
and instead introduces a new var - `PLAYWRIGHT_BROWSERS_PATH`.
You can specify `PLAYWRIGHT_BROWSERS_PATH` to affect where playwright
installs browsers and where it looks for browsers.
Fixes #1102
2020-03-24 00:08:00 -07:00
Max Schmitt
5a93872063
docs: add upload keyword to filechooser ( #1496 )
2020-03-23 19:47:29 -07:00
Joel Einbinder
5bf9f223db
fix(docs): consider argument to be optional in evaluate ( #1500 )
2020-03-23 17:22:10 -07:00
Dmitry Gozman
de0a2d1081
api(waitForLoadState): move waitUntil to be a first parameter ( #1490 )
2020-03-23 13:51:11 -07:00
Andrey Lushnikov
a74e23a257
feat: support PLAYWRIGHT_GLOBAL_INSTALL=1
env variable ( #1470 )
...
You can install playwright with
```
PLAYWRIGHT_GLOBAL_INSTALL=1 npm i playwright
```
to make it use a single shared location for all browser
downloads.
Fixes #1102
2020-03-23 12:49:53 -07:00
Dmitry Gozman
15fddb5177
api(click): rename offset to position ( #1488 )
...
To allow for features like position: 'center' or similar.
2020-03-23 12:05:08 -07:00
Dmitry Gozman
16c7a5bd5c
api(eval): accept zero or one arguments in all evaluation functions ( #1431 )
2020-03-20 15:08:17 -07:00
Joel Einbinder
825555cddf
types: better types ( #1166 )
...
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.
Now types
- only include the public api
- work with older versions of typescript
- include descriptions
- are more consistent
- are more complete
#6
2020-03-20 01:30:35 -07:00
Yury Semikhatsky
f1d97b0466
chore(docs): remove remaining mentions of Chromium targets ( #1435 )
2020-03-19 20:25:31 -07:00
Yury Semikhatsky
535b484637
api(context): get rid of PageEvent ( #1433 )
2020-03-19 16:25:12 -07:00
Yury Semikhatsky
3ed9970b33
api(chromium): add ChromiumBrowserContext.serviceWorkers() ( #1416 )
2020-03-19 16:10:24 -07:00
Andrey Lushnikov
f5ecbff16e
devops: remake downloading logic ( #1419 )
...
This patch:
- removes `browserType.downloadBrowserIfNeeded()` method. The method
turned out to be ill-behaving and cannot not be used as we'd like to (see #1085 )
- adds a `browserType.setExecutablePath` method to set a browser
exectuable.
With this patch, we take the following approach towards managing browser downloads:
- `playwright-core` doesn't download any browsers. In `playwright-core`, `playwright.chromium.executablePath()` returns `null` (same for firefox and webkit).
- clients of `playwright-core` (e.g. `playwright` and others) download browsers one way or another.
They can then configure `playwright` with executable paths and re-export the `playwright` object to their clients.
- `playwright`, `playwright-firefox`, `playwright-chromium` and `playwright-webkit` download
browsers. Once browsers are downloaded, their executable paths are saved to a `.downloaded-browsers.json` file. This file is read in `playwright/index.js` to configure browser executable paths and re-export the API.
- special case is `install-from-github.js` that also cleans up old browsers.
2020-03-19 11:43:35 -07:00
Joel Einbinder
b0749e3a6d
fix(docs): fixup and lint optionals and return values in api.md ( #1376 )
...
Currently in our API `?` means null, but sometimes it means optional. Linting optional/nulls with this patch is required for #1166 to land nicely.
Previously, return types were not being linted in `api.md`. This is fixed, along with many broken return types.
This patch considers `?` to mean nullable, and has some heuristics to determine optionality. I believe this to be the minimal patch needed to unblock #1166 . After it lands, we can consider changing the api docs to hopefully remove some heuristics and strangeness.
2020-03-18 16:23:25 -07:00
Joel Einbinder
741e2d19d6
fix(docs): lint and fix all internal links in api.md
...
We have had a lot of churn in the api, which has caused a lot of our links to break.
2020-03-18 15:34:53 -07:00
Pavel Feldman
049b336800
api(devices): extract isMobile/hasTouch from viewport ( #1415 )
2020-03-17 18:21:02 -07:00
Joel Einbinder
39e5eb7eda
feat(devices): remove name from device objects ( #1414 )
2020-03-17 16:04:42 -07:00
Pavel Feldman
e4225adcc0
feat(permissions): make origin optional ( #1406 )
2020-03-17 15:32:50 -07:00
Pavel Feldman
64b175ce10
api(waitForLoadState): restore it ( #1390 )
2020-03-16 14:39:44 -07:00
Dmitry Gozman
6731d37546
api(network): replace redirectChain with redirectedFrom/redirectedTo ( #1401 )
2020-03-16 13:31:06 -07:00
Pavel Feldman
e692dd6e62
api(cdp): rename ChromiumSession to CDPSession ( #1380 )
2020-03-13 16:16:54 -07:00
Dmitry Gozman
69be12ae12
api(route): pass Route object instead of Request to route handlers ( #1385 )
...
References #1348 .
2020-03-13 14:30:40 -07:00
Dmitry Gozman
9b86c631c8
api: make BrowserContext.pages() synchronous ( #1369 )
...
Returns all pages which have been initialized already.
References #1348 .
2020-03-13 11:33:33 -07:00
Pavel Feldman
8aba111f1e
api(cdp): rename createSession to newCDPSession ( #1378 )
2020-03-13 09:00:03 -07:00
Pavel Feldman
b1a3b23c38
api(request): make request.response a promise ( #1377 )
2020-03-13 08:54:19 -07:00
Pavel Feldman
24d4fb1e5c
api(click): remove tripleclick, respect clickCount ( #1373 )
2020-03-13 08:09:48 -07:00
Pavel Feldman
8c532bd8da
api(press): remove text option ( #1372 )
...
#1348
2020-03-12 22:02:19 -07:00
Pavel Feldman
e1d3196460
api(*.selectOption): renamed from *.select ( #1371 )
2020-03-12 21:30:12 -07:00
Pavel Feldman
064099ab3c
api(keyboard.insertText): renamed from sendCharaters ( #1370 )
2020-03-12 20:56:52 -07:00
Pavel Feldman
9aa56a6b9e
api(browserType): remove devices, errors ( #1368 )
2020-03-12 17:58:00 -07:00
Pavel Feldman
cfd3ae25fb
api(addCookies): setCookies -> addCookies ( #1367 )
...
#1348
2020-03-12 17:32:33 -07:00
Dmitry Gozman
3fa4255bc5
api: make request.postData() return null instead of undefined ( #1366 )
2020-03-12 16:53:04 -07:00
Dmitry Gozman
e382bb329b
api: remove 'commit' phase, actions to wait until 'domcontentloaded' by default ( #1358 )
2020-03-12 11:20:03 -07:00
Pavel Feldman
b43f33f4d3
api(review): misc changes to API. ( #1356 )
2020-03-11 18:10:48 -07:00
Kevin Wang
b3f87e8360
docs(api.md): Fix incorrect link to PageEvent ( #1353 )
...
Minor typo :)
2020-03-11 17:51:19 -07:00
Dmitry Gozman
c1ef683373
api: remove waitForLoadState() in favor of PageEvent.page(options) ( #1323 )
2020-03-11 14:46:52 -07:00
Dmitry Gozman
23cf3be828
api: make request.frame() non-null ( #1319 )
2020-03-10 11:39:35 -07:00
Dmitry Gozman
ea6978a3d8
api(popups): expose BrowserContext.route() ( #1295 )
2020-03-09 21:02:54 -07:00