From 539d9873c2f3235928106751c2301d91b3b6d628 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 30 Mar 2023 14:41:30 -0700 Subject: [PATCH] feat: rename Locator.filter(locator) to Locator.and (#22101) --- docs/src/api/class-locator.md | 80 ++++++++++--------- docs/src/api/params.md | 4 +- docs/src/locators.md | 18 ++--- docs/src/other-locators.md | 6 +- docs/src/release-notes-csharp.md | 2 +- docs/src/release-notes-java.md | 2 +- docs/src/release-notes-js.md | 2 +- docs/src/release-notes-python.md | 2 +- .../playwright-core/src/client/locator.ts | 17 ++-- .../src/server/injected/consoleApi.ts | 8 +- .../src/utils/isomorphic/locatorGenerators.ts | 8 +- .../src/utils/isomorphic/locatorParser.ts | 2 +- packages/playwright-core/types/types.d.ts | 42 +++++----- tests/library/inspector/console-api.spec.ts | 4 +- tests/library/locator-generator.spec.ts | 8 +- tests/page/locator-query.spec.ts | 14 ++-- 16 files changed, 109 insertions(+), 110 deletions(-) diff --git a/docs/src/api/class-locator.md b/docs/src/api/class-locator.md index d00787a39a..44cc6af3f6 100644 --- a/docs/src/api/class-locator.md +++ b/docs/src/api/class-locator.md @@ -98,6 +98,45 @@ String[] texts = page.getByRole(AriaRole.LINK).allTextContents(); var texts = await page.GetByRole(AriaRole.Link).AllTextContentsAsync(); ``` +## method: Locator.and +* since: v1.33 +* langs: + - alias-python: and_ +- returns: <[Locator]> + +Creates a locator that matches both this locator and the argument locator. + +**Usage** + +The following example finds a button with a specific title. + +```js +const button = page.getByRole('button').and(page.getByTitle('Subscribe')); +``` + +```java +Locator button = page.getByRole(AriaRole.BUTTON).and(page.getByTitle("Subscribe")); +``` + +```python async +button = page.get_by_role("button").and_(page.getByTitle("Subscribe")) +``` + +```python sync +button = page.get_by_role("button").and_(page.getByTitle("Subscribe")) +``` + +```csharp +var button = page.GetByRole(AriaRole.Button).And(page.GetByTitle("Subscribe")); +``` + +### param: Locator.and.locator +* since: v1.33 +- `locator` <[Locator]> + +Additional locator to match. + + ## async method: Locator.blur * since: v1.28 @@ -888,7 +927,7 @@ Value to set for the ``, `