docs(python): fix syntactically incorrect snippets (#23904)

This commit is contained in:
Max Schmitt 2023-06-27 11:53:27 +02:00 committed by GitHub
parent 4b1b4dc23b
commit 71650f9bd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 56 additions and 59 deletions

View File

@ -117,11 +117,11 @@ String snapshot = page.accessibility().snapshot();
```python async ```python async
def find_focused_node(node): def find_focused_node(node):
if (node.get("focused")) if node.get("focused"):
return node return node
for child in (node.get("children") or []): for child in (node.get("children") or []):
found_node = find_focused_node(child) found_node = find_focused_node(child)
if (found_node) if found_node:
return found_node return found_node
return None return None
@ -133,11 +133,11 @@ if node:
```python sync ```python sync
def find_focused_node(node): def find_focused_node(node):
if (node.get("focused")) if node.get("focused"):
return node return node
for child in (node.get("children") or []): for child in (node.get("children") or []):
found_node = find_focused_node(child) found_node = find_focused_node(child)
if (found_node) if found_node:
return found_node return found_node
return None return None

View File

@ -1125,18 +1125,18 @@ context.route("/api/**", route -> {
```python async ```python async
def handle_route(route): def handle_route(route):
if ("my-string" in route.request.post_data) if ("my-string" in route.request.post_data):
route.fulfill(body="mocked-data") route.fulfill(body="mocked-data")
else else:
route.continue_() route.continue_()
await context.route("/api/**", handle_route) await context.route("/api/**", handle_route)
``` ```
```python sync ```python sync
def handle_route(route): def handle_route(route):
if ("my-string" in route.request.post_data) if ("my-string" in route.request.post_data):
route.fulfill(body="mocked-data") route.fulfill(body="mocked-data")
else else:
route.continue_() route.continue_()
context.route("/api/**", handle_route) context.route("/api/**", handle_route)
``` ```

View File

@ -410,13 +410,13 @@ assertEquals("10", tweetHandle.evalOnSelector(".retweets", "node => node.innerTe
```python async ```python async
tweet_handle = await page.query_selector(".tweet") tweet_handle = await page.query_selector(".tweet")
assert await tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100" assert await tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100"
assert await tweet_handle.eval_on_selector(".retweets", "node => node.innerText") = "10" assert await tweet_handle.eval_on_selector(".retweets", "node => node.innerText") == "10"
``` ```
```python sync ```python sync
tweet_handle = page.query_selector(".tweet") tweet_handle = page.query_selector(".tweet")
assert tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100" assert tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100"
assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") = "10" assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") == "10"
``` ```
```csharp ```csharp

View File

@ -966,19 +966,18 @@ rowLocator
```python async ```python async
row_locator = page.locator("tr") row_locator = page.locator("tr")
# ... # ...
await row_locator await row_locator.filter(has_text="text in column 1").filter(
.filter(has_text="text in column 1") has=page.get_by_role("button", name="column 2 button")
.filter(has=page.get_by_role("button", name="column 2 button")) ).screenshot()
.screenshot()
``` ```
```python sync ```python sync
row_locator = page.locator("tr") row_locator = page.locator("tr")
# ... # ...
row_locator row_locator.filter(has_text="text in column 1").filter(
.filter(has_text="text in column 1") has=page.get_by_role("button", name="column 2 button")
.filter(has=page.get_by_role("button", name="column 2 button")) ).screenshot()
.screenshot()
``` ```
```csharp ```csharp
@ -1589,7 +1588,7 @@ newEmail.click();
new_email = page.get_by_role("button", name="New") new_email = page.get_by_role("button", name="New")
dialog = page.get_by_text("Confirm security settings") dialog = page.get_by_text("Confirm security settings")
await expect(new_email.or_(dialog)).to_be_visible() await expect(new_email.or_(dialog)).to_be_visible()
if (await dialog.is_visible()) if (await dialog.is_visible()):
await page.get_by_role("button", name="Dismiss").click() await page.get_by_role("button", name="Dismiss").click()
await new_email.click() await new_email.click()
``` ```
@ -1598,7 +1597,7 @@ await new_email.click()
new_email = page.get_by_role("button", name="New") new_email = page.get_by_role("button", name="New")
dialog = page.get_by_text("Confirm security settings") dialog = page.get_by_text("Confirm security settings")
expect(new_email.or_(dialog)).to_be_visible() expect(new_email.or_(dialog)).to_be_visible()
if (dialog.is_visible()) if (dialog.is_visible()):
page.get_by_role("button", name="Dismiss").click() page.get_by_role("button", name="Dismiss").click()
new_email.click() new_email.click()
``` ```

View File

@ -255,6 +255,7 @@ try:
# or while waiting for an event. # or while waiting for an event.
await page.wait_for_event("popup") await page.wait_for_event("popup")
except Error as e: except Error as e:
pass
# when the page crashes, exception message contains "crash". # when the page crashes, exception message contains "crash".
``` ```
@ -265,6 +266,7 @@ try:
# or while waiting for an event. # or while waiting for an event.
page.wait_for_event("popup") page.wait_for_event("popup")
except Error as e: except Error as e:
pass
# when the page crashes, exception message contains "crash". # when the page crashes, exception message contains "crash".
``` ```
@ -3252,18 +3254,18 @@ page.route("/api/**", route -> {
```python async ```python async
def handle_route(route): def handle_route(route):
if ("my-string" in route.request.post_data) if ("my-string" in route.request.post_data):
route.fulfill(body="mocked-data") route.fulfill(body="mocked-data")
else else:
route.continue_() route.continue_()
await page.route("/api/**", handle_route) await page.route("/api/**", handle_route)
``` ```
```python sync ```python sync
def handle_route(route): def handle_route(route):
if ("my-string" in route.request.post_data) if ("my-string" in route.request.post_data):
route.fulfill(body="mocked-data") route.fulfill(body="mocked-data")
else else:
route.continue_() route.continue_()
page.route("/api/**", handle_route) page.route("/api/**", handle_route)
``` ```

View File

@ -70,7 +70,7 @@ async def handle(route, request):
# override headers # override headers
headers = { headers = {
**request.headers, **request.headers,
"foo": "foo-value" # set "foo" header "foo": "foo-value", # set "foo" header
"bar": None # remove "bar" header "bar": None # remove "bar" header
} }
await route.continue_(headers=headers) await route.continue_(headers=headers)
@ -83,7 +83,7 @@ def handle(route, request):
# override headers # override headers
headers = { headers = {
**request.headers, **request.headers,
"foo": "foo-value" # set "foo" header "foo": "foo-value", # set "foo" header
"bar": None # remove "bar" header "bar": None # remove "bar" header
} }
route.continue_(headers=headers) route.continue_(headers=headers)
@ -356,7 +356,7 @@ async def handle(route, request):
# override headers # override headers
headers = { headers = {
**request.headers, **request.headers,
"foo": "foo-value" # set "foo" header "foo": "foo-value", # set "foo" header
"bar": None # remove "bar" header "bar": None # remove "bar" header
} }
await route.fallback(headers=headers) await route.fallback(headers=headers)
@ -369,7 +369,7 @@ def handle(route, request):
# override headers # override headers
headers = { headers = {
**request.headers, **request.headers,
"foo": "foo-value" # set "foo" header "foo": "foo-value", # set "foo" header
"bar": None # remove "bar" header "bar": None # remove "bar" header
} }
route.fallback(headers=headers) route.fallback(headers=headers)

View File

@ -412,15 +412,13 @@ assertThat(page
``` ```
```python async ```python async
await expect(page await expect(
.get_by_text(re.compile("welcome, john", re.IGNORECASE))) page.get_by_text(re.compile("welcome, john", re.IGNORECASE))
.to_be_visible() ).to_be_visible()
``` ```
```python sync ```python sync
expect(page expect(page.get_by_text(re.compile("welcome, john", re.IGNORECASE))).to_be_visible()
.get_by_text(re.compile("welcome, john", re.IGNORECASE)))
.to_be_visible()
``` ```
```csharp ```csharp
@ -1193,7 +1191,7 @@ newEmail.click();
new_email = page.get_by_role("button", name="New") new_email = page.get_by_role("button", name="New")
dialog = page.get_by_text("Confirm security settings") dialog = page.get_by_text("Confirm security settings")
await expect(new_email.or_(dialog)).to_be_visible() await expect(new_email.or_(dialog)).to_be_visible()
if (await dialog.is_visible()) if (await dialog.is_visible()):
await page.get_by_role("button", name="Dismiss").click() await page.get_by_role("button", name="Dismiss").click()
await new_email.click() await new_email.click()
``` ```
@ -1202,7 +1200,7 @@ await new_email.click()
new_email = page.get_by_role("button", name="New") new_email = page.get_by_role("button", name="New")
dialog = page.get_by_text("Confirm security settings") dialog = page.get_by_text("Confirm security settings")
expect(new_email.or_(dialog)).to_be_visible() expect(new_email.or_(dialog)).to_be_visible()
if (dialog.is_visible()) if (dialog.is_visible()):
page.get_by_role("button", name="Dismiss").click() page.get_by_role("button", name="Dismiss").click()
new_email.click() new_email.click()
``` ```
@ -1541,19 +1539,17 @@ await rowLocator
```python async ```python async
row_locator = page.get_by_role("listitem") row_locator = page.get_by_role("listitem")
await row_locator await row_locator.filter(has_text="Mary").filter(
.filter(has_text="Mary") has=page.get_by_role("button", name="Say goodbye")
.filter(has=page.get_by_role("button", name="Say goodbye")) ).screenshot(path="screenshot.png")
.screenshot(path="screenshot.png")
``` ```
```python sync ```python sync
row_locator = page.get_by_role("listitem") row_locator = page.get_by_role("listitem")
row_locator row_locator.filter(has_text="Mary").filter(
.filter(has_text="Mary") has=page.get_by_role("button", name="Say goodbye")
.filter(has=page.get_by_role("button", name="Say goodbye")) ).screenshot(path="screenshot.png")
.screenshot(path="screenshot.png")
``` ```
```java ```java

View File

@ -60,24 +60,23 @@ This version was also tested against the following stable channels:
Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead. Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead.
In this case, you can wait for either a "New email" button, or a dialog and act accordingly: In this case, you can wait for either a "New email" button, or a dialog and act accordingly:
```python ```python
new_email = page.get_by_role("button", name="New email") new_email = page.get_by_role("button", name="New email")
dialog = page.get_by_text("Confirm security settings") dialog = page.get_by_text("Confirm security settings")
expect(new_email.or_(dialog)).is_visible() expect(new_email.or_(dialog)).is_visible()
if (dialog.is_visible()) if (dialog.is_visible()):
page.get_by_role("button", name="Dismiss").click() page.get_by_role("button", name="Dismiss").click()
new_email.click() new_email.click()
``` ```
* Use new options [`option: hasNot`] and [`option: hasNotText`] in [`method: Locator.filter`] * Use new options [`option: hasNot`] and [`option: hasNotText`] in [`method: Locator.filter`]
to find elements that **do not match** certain conditions. to find elements that **do not match** certain conditions.
```python ```python
row_locator = page.locator("tr") row_locator = page.locator("tr")
row_locator row_locator.filter(has_not_text="text in column 1").filter(
.filter(has_not_text="text in column 1") has_not=page.get_by_role("button", name="column 2 button")
.filter(has_not=page.get_by_role("button", name="column 2 button")) ).screenshot()
.screenshot() ```
```
* Use new web-first assertion [`method: LocatorAssertions.toBeAttached`] to ensure that the element * Use new web-first assertion [`method: LocatorAssertions.toBeAttached`] to ensure that the element
is present in the page's DOM. Do not confuse with the [`method: LocatorAssertions.toBeVisible`] that ensures that is present in the page's DOM. Do not confuse with the [`method: LocatorAssertions.toBeVisible`] that ensures that
element is both attached & visible. element is both attached & visible.

View File

@ -65,6 +65,7 @@ The Playwright Pytest plugin is based on the concept of test fixtures such as th
from playwright.sync_api import Page from playwright.sync_api import Page
def test_basic_test(page: Page): def test_basic_test(page: Page):
pass
# ... # ...
``` ```