Commit graph

45 commits

Author SHA1 Message Date
Dmitry Gozman 722302799e
feat(selectors): support regular expressions in attribute selectors (#12960)
Supports inline regex in addition to string: `_react=BookItem[author = /Ann?a/i]`.
This is similar to `text=` selector, but applies to `_react` and `_vue`
selectors. In the future, will also apply to `role=` selector.
2022-03-22 17:00:56 -07:00
Rebely22 7696fec1fa
docs: selectors.md fix code parentheses misplaced (#12210) 2022-02-18 10:33:24 +01:00
Ross Wollman 00e8a6440d
docs(selectors.md): React selector nit (#12010)
See https://github.com/microsoft/playwright/pull/11970#discussion_r803212908.

In the future, I'd like to think through some more extensive examples to make React selector best practices more explicit in the docs.
2022-02-10 12:27:37 -08:00
Darío Kondratiuk 48cc41f3e7
feat: add key support on react engine (#11970)
I've got [this question](https://stackoverflow.com/questions/71050193/react-locator-example/71052432#71052432) on StackOverflow. And although, in that case, the `key` was part of the `props` attributes. That might not always be true.

I am bringing this to the tell to see what you think about this.
I'm also fixing a typo :)
2022-02-09 11:33:15 -08:00
Leonardo Henrique Tsuda de8f22a8ff
docs(selectors.md): fix fill and FillAsync examples (#11790) 2022-02-02 12:10:34 -08:00
David Seow 59b677139e
docs(selectors): gramamatical tweaks (#11433) 2022-01-17 18:44:45 -08:00
spaniardmaximus dbac5a5298
docs(selectors.md and locators.md): Fixed typos and added missing words (#11088) 2021-12-23 13:32:28 -08:00
Max Schmitt 2e956aa0d1 Revert "docs: use correct name for React component naming capitalisation (#10798)"
This reverts commit cfd4404756.
2021-12-08 12:14:11 -08:00
Pavlo Zhukov cfd4404756
docs: use correct name for React component naming capitalisation (#10798) 2021-12-08 11:03:47 -08:00
Pavel Feldman 917924d279
docs: extract locators doc (#10795) 2021-12-08 09:54:01 -08:00
Pavel Feldman 056d0cb5c1 docs: minor fix 2021-11-30 17:34:58 -08:00
Pavlo Zhukov 71adefc814
docs(selectors): add missing closing backquote (#10601) 2021-11-30 13:01:25 +01:00
Yury Semikhatsky c5cb73003f
docs: OR for css and xpath selectors (#10285) 2021-11-15 13:54:12 -08:00
Pavel Feldman 1e38ec5fa4
docs(element-handle): discourage the element handle use (#10220) 2021-11-10 11:30:25 -08:00
Max Schmitt dd5364e445
feat(create-playwright): add option to add examples (#8963) 2021-10-21 20:21:50 +02:00
knaitas cfe75fc755
docs(selector): change Python textContent to text_content (#9440)
Co-authored-by: Tadas Gedgaudas <tadas.gedgaudas@oxylabs.io>
2021-10-12 10:16:29 +02:00
Dmitry Gozman 6722d95a7a
docs: fix markdown parser swallowing lines after code snippets (#8904) 2021-09-13 18:48:16 -07:00
Pavel Feldman 1d4e2fe98c
feat(nth): make nth and visible selectors public (#8142) 2021-08-11 11:06:09 -07:00
Andrey Lushnikov 4975f4179e
feat: make React and Vue selectors experimental (#8106) 2021-08-10 17:21:16 -07:00
Andrey Lushnikov 792986c92d
feat: support props matching in react and vue selectors (#8104) 2021-08-10 17:10:14 -07:00
Andrey Lushnikov f455b6edc0
feat: introduce vue selector engine (#8070)
This patch adds support for the `vue` selector engine that allows
selecting DOM elements based on the component name.

> **NOTE**: `vue` engine supports Vue2 and Vue2.

References #7189
2021-08-09 01:34:52 -07:00
Andrey Lushnikov f3ba2b54ff
feat: introduce react selectors (#8069)
This patch adds support for the `react` selector engine that allows
selecting DOM elements based on the component name.

> **NOTE**: in case of multi-root components (React.Fragment), `react`
engine will select all root DOM elements.

> **NOTE**: `react` engine supports react v15+.

References #7189
2021-08-07 16:51:39 -07:00
Dmitry Gozman 78261d2373
docs: clarify that attribute selectors are not CSS (#7210) 2021-06-17 15:08:05 -07:00
Lisa d7c0ddaeb0
docs(python): add missing closing parenthesis (#7089) 2021-06-14 10:43:08 +02:00
Pavel Feldman c01c5dbb55
docs(dotnet): examples for navigation.md, network.md, selectors.md (#6593) 2021-05-14 23:22:30 -07:00
Dmitry Gozman b62a436041
feat(selectors): support max distance in layout selectors (#6172)
Supports `div:near(button, 120)` with configurable distance in pixels.
2021-04-10 15:20:26 -07:00
Dmitry Gozman d87522f2e6
fix(text selector): revert quoted match to match by text nodes only (#5690) 2021-03-03 10:51:10 -08:00
Andrey Lushnikov ee69de7726
docs: docs typos (#5658) 2021-03-01 11:53:27 -08:00
Yury Semikhatsky 6c9e806672
docs: add java snippets to the examples in guides (#5638) 2021-03-01 09:18:44 -08:00
Andrey Lushnikov b285936721
docs: more clarity in the attribute selectors (#5621)
Fixes #5615
2021-02-25 10:42:52 -08:00
Dmitry Gozman 0102e080f6
fix(text selector): make quoted selector match by text nodes (#5603)
This change turns quoted match to be case-sensitive (as before),
but not strictly full-string for the whole element's text.

This is a fix for a case where element contains text nodes and child elements:
```html
<div>text1<span>child node</span>text2</div>
```
We now match this div by `text="text1"` and `text="text2"`.
2021-02-24 16:32:38 -08:00
Dmitry Gozman 058ce60511
docs: combine text sections in selectors doc (#5528) 2021-02-19 16:28:35 -08:00
Dmitry Gozman b50c363bba
docs(selectors): add quick guide section (#5346) 2021-02-08 19:51:11 -08:00
Dmitry Gozman 894abbfe28
feat(selectors): has-text pseudo-class (#5120)
This pseudo-class matches approximately when
`element.textContent.includes(textToSearchFor)`.
2021-01-25 14:19:07 -08:00
Dmitry Gozman 7a4b94e66c
feat(selectors): nth-match selector (#5081)
Introduces :nth-match(ul > li, 3) css extension, with one-based index.
2021-01-21 16:39:49 -08:00
Dmitry Gozman 19acf998da
docs: minor updates to selectors.md (#5055) 2021-01-19 10:48:18 -08:00
Dmitry Gozman 0586c2554f feat(text selector): normalize whitespace for quoted match (#5049)
This changes quoted text selector like `text="Foo Bar"` to perform
normalized whitespace match.

Most of the time users want to match some string visible on the page,
and that always means normalized whitespace.

We keep the case sensitivity and full-string vs substring difference
between quoted and unquoted matches.
2021-01-19 09:30:34 -08:00
Pavel Feldman 9e3bd78649
docs: update selectors doc to be more like a guide (#5048) 2021-01-18 20:59:16 -08:00
Dmitry Gozman e85f278869
docs: more python docs and snippets (#5021) 2021-01-14 15:01:39 -08:00
Dmitry Gozman d62b661cfa
docs: rename proximity selectors to position selectors (#4975) 2021-01-11 18:25:41 -08:00
Pavel Feldman 114d586f07
chore: add python aliases (#4949) 2021-01-08 15:00:14 -08:00
Dmitry Gozman d08cbc33a7
docs: brush up selector docs (#4939)
docs: brush up selector docs

- Remove duplication
- Move extensions block to ChromiumBrowser
- Remove accidental ":xpath" extension from css selectors
- Document :has and :is extensions
2021-01-08 10:59:24 -08:00
Dmitry Gozman eb9ea20511
feat(selectors): proximity selectors (#4923) 2021-01-07 14:12:59 -08:00
Pavel Feldman 2311c282d6
docs: pref docs to be language-specific (#4916) 2021-01-06 11:59:29 -08:00
Pavel Feldman ae935a43d9
doc: further align docs w/ playwright.dev (#4866) 2021-01-03 08:47:29 -08:00
Renamed from docs-src/selectors.md (Browse further)