chore(docs): aliases for dotnet/chsarp docs. (#5162)

Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
This commit is contained in:
Anže Vodovnik 2021-01-29 20:08:22 +01:00 committed by GitHub
parent 69ca30834e
commit dbcdf9dcd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 380 additions and 351 deletions

View File

@ -182,6 +182,13 @@ Maximum time in milliseconds to wait for the browser instance to start. Defaults
disable timeout.
### option: BrowserType.launch.env
* langs: csharp,java
- `env` <[Object]<[string], [string]>>
Specify environment variables that will be visible to the browser. Defaults to `process.env`.
### option: BrowserType.launch.env
* langs: js,python
- `env` <[Object]<[string], [string]|[float]|[boolean]>>
Specify environment variables that will be visible to the browser. Defaults to `process.env`.

View File

@ -1,7 +1,7 @@
# class: ElementHandle
* extends: [JSHandle]
ElementHandle represents an in-page DOM element. ElementHandles can be created with the [`method: Page.$`] method.
ElementHandle represents an in-page DOM element. ElementHandles can be created with the [`method: Page.querySelector`] method.
```js
const { chromium } = require('playwright'); // Or 'firefox' or 'webkit'.
@ -54,119 +54,7 @@ with sync_playwright() as playwright:
ElementHandle prevents DOM element from garbage collection unless the handle is disposed with
[`method: JSHandle.dispose`]. ElementHandles are auto-disposed when their origin frame gets navigated.
ElementHandle instances can be used as an argument in [`method: Page.$eval`] and [`method: Page.evaluate`] methods.
## async method: ElementHandle.$
* langs:
- alias-python: query_selector
- returns: <[null]|[ElementHandle]>
The method finds an element matching the specified selector in the `ElementHandle`'s subtree. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns `null`.
### param: ElementHandle.$.selector = %%-query-selector-%%
## async method: ElementHandle.$$
* langs:
- alias-python: query_selector_all
- returns: <[Array]<[ElementHandle]>>
The method finds all elements matching the specified selector in the `ElementHandle`s subtree. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns empty array.
### param: ElementHandle.$$.selector = %%-query-selector-%%
## async method: ElementHandle.$eval
* langs:
- alias-python: eval_on_selector
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds an element matching the specified selector in the `ElementHandle`s subtree and passes it as a first
argument to [`param: pageFunction`]. See [Working with selectors](./selectors.md) for more
details. If no elements match the selector, the method throws an error.
If [`param: pageFunction`] returns a [Promise], then `frame.$eval` would wait for the promise to resolve and return its
value.
Examples:
```js
const tweetHandle = await page.$('.tweet');
expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe('100');
expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe('10');
```
```python async
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(".retweets", "node => node.innerText") = "10"
```
```python sync
tweet_handle = page.query_selector(".tweet")
assert tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100"
assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") = "10"
```
### param: ElementHandle.$eval.selector = %%-query-selector-%%
### param: ElementHandle.$eval.expression = %%-evaluate-expression-%%
### param: ElementHandle.$eval.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: ElementHandle.$$eval
* langs:
- alias-python: eval_on_selector_all
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds all elements matching the specified selector in the `ElementHandle`'s subtree and passes an array of
matched elements as a first argument to [`param: pageFunction`]. See
[Working with selectors](./selectors.md) for more details.
If [`param: pageFunction`] returns a [Promise], then `frame.$$eval` would wait for the promise to resolve and return its
value.
Examples:
```html
<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>
```
```js
const feedHandle = await page.$('.feed');
expect(await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText))).toEqual(['Hello!', 'Hi!']);
```
```python async
feed_handle = await page.query_selector(".feed")
assert await feed_handle.eval_on_selector_all(".tweet", "nodes => nodes.map(n => n.innerText)") == ["hello!", "hi!"]
```
```python sync
feed_handle = page.query_selector(".feed")
assert feed_handle.eval_on_selector_all(".tweet", "nodes => nodes.map(n => n.innerText)") == ["hello!", "hi!"]
```
### param: ElementHandle.$$eval.selector = %%-query-selector-%%
### param: ElementHandle.$$eval.expression = %%-evaluate-expression-%%
### param: ElementHandle.$$eval.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
ElementHandle instances can be used as an argument in [`method: Page.evalOnSelector`] and [`method: Page.evaluate`] methods.
## async method: ElementHandle.boundingBox
- returns: <[null]|[Object]>
@ -353,6 +241,98 @@ DOM event type: `"click"`, `"dragstart"`, etc.
Optional event-specific initialization properties.
## async method: ElementHandle.evalOnSelector
* langs:
- alias-python: eval_on_selector
- alias-js: $eval
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds an element matching the specified selector in the `ElementHandle`s subtree and passes it as a first
argument to [`param: pageFunction`]. See [Working with selectors](./selectors.md) for more
details. If no elements match the selector, the method throws an error.
If [`param: pageFunction`] returns a [Promise], then [`method: ElementHandle.evalOnSelector`] would wait for the promise to resolve and return its
value.
Examples:
```js
const tweetHandle = await page.$('.tweet');
expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe('100');
expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe('10');
```
```python async
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(".retweets", "node => node.innerText") = "10"
```
```python sync
tweet_handle = page.query_selector(".tweet")
assert tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100"
assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") = "10"
```
### param: ElementHandle.evalOnSelector.selector = %%-query-selector-%%
### param: ElementHandle.evalOnSelector.expression = %%-evaluate-expression-%%
### param: ElementHandle.evalOnSelector.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: ElementHandle.evalOnSelectorAll
* langs:
- alias-python: eval_on_selector_all
- alias-js: $$eval
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds all elements matching the specified selector in the `ElementHandle`'s subtree and passes an array of
matched elements as a first argument to [`param: pageFunction`]. See
[Working with selectors](./selectors.md) for more details.
If [`param: pageFunction`] returns a [Promise], then [`method: ElementHandle.evalOnSelectorAll`] would wait for the promise to resolve and return its
value.
Examples:
```html
<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>
```
```js
const feedHandle = await page.$('.feed');
expect(await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText))).toEqual(['Hello!', 'Hi!']);
```
```python async
feed_handle = await page.query_selector(".feed")
assert await feed_handle.eval_on_selector_all(".tweet", "nodes => nodes.map(n => n.innerText)") == ["hello!", "hi!"]
```
```python sync
feed_handle = page.query_selector(".feed")
assert feed_handle.eval_on_selector_all(".tweet", "nodes => nodes.map(n => n.innerText)") == ["hello!", "hi!"]
```
### param: ElementHandle.evalOnSelectorAll.selector = %%-query-selector-%%
### param: ElementHandle.evalOnSelectorAll.expression = %%-evaluate-expression-%%
### param: ElementHandle.evalOnSelectorAll.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: ElementHandle.fill
This method waits for [actionability](./actionability.md) checks, focuses the element, fills it and triggers an `input` event after filling.
@ -485,6 +465,30 @@ Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
### option: ElementHandle.press.timeout = %%-input-timeout-%%
## async method: ElementHandle.querySelector
* langs:
- alias-python: query_selector
- alias-js: $
- returns: <[null]|[ElementHandle]>
The method finds an element matching the specified selector in the `ElementHandle`'s subtree. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns `null`.
### param: ElementHandle.querySelector.selector = %%-query-selector-%%
## async method: ElementHandle.querySelectorAll
* langs:
- alias-python: query_selector_all
- alias-js: $$
- returns: <[Array]<[ElementHandle]>>
The method finds all elements matching the specified selector in the `ElementHandle`s subtree. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns empty array.
### param: ElementHandle.querySelectorAll.selector = %%-query-selector-%%
## async method: ElementHandle.screenshot
- returns: <[Buffer]>

View File

@ -74,112 +74,6 @@ with sync_playwright() as playwright:
run(playwright)
```
## async method: Frame.$
* langs:
- alias-python: query_selector
- returns: <[null]|[ElementHandle]>
Returns the ElementHandle pointing to the frame element.
The method finds an element matching the specified selector within the frame. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns `null`.
### param: Frame.$.selector = %%-query-selector-%%
## async method: Frame.$$
* langs:
- alias-python: query_selector_all
- returns: <[Array]<[ElementHandle]>>
Returns the ElementHandles pointing to the frame elements.
The method finds all elements matching the specified selector within the frame. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns empty array.
### param: Frame.$$.selector = %%-query-selector-%%
## async method: Frame.$eval
* langs:
- alias-python: eval_on_selector
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds an element matching the specified selector within the frame and passes it as a first argument to
[`param: pageFunction`]. See [Working with selectors](./selectors.md) for more details. If no
elements match the selector, the method throws an error.
If [`param: pageFunction`] returns a [Promise], then `frame.$eval` would wait for the promise to resolve and return its
value.
Examples:
```js
const searchValue = await frame.$eval('#search', el => el.value);
const preloadHref = await frame.$eval('link[rel=preload]', el => el.href);
const html = await frame.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
```
```python async
search_value = await frame.eval_on_selector("#search", "el => el.value")
preload_href = await frame.eval_on_selector("link[rel=preload]", "el => el.href")
html = await frame.eval_on_selector(".main-container", "(e, suffix) => e.outerHTML + suffix", "hello")
```
```python sync
search_value = frame.eval_on_selector("#search", "el => el.value")
preload_href = frame.eval_on_selector("link[rel=preload]", "el => el.href")
html = frame.eval_on_selector(".main-container", "(e, suffix) => e.outerHTML + suffix", "hello")
```
### param: Frame.$eval.selector = %%-query-selector-%%
### param: Frame.$eval.expression = %%-evaluate-expression-%%
### param: Frame.$eval.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Frame.$$eval
* langs:
- alias-python: eval_on_selector_all
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds all elements matching the specified selector within the frame and passes an array of matched elements
as a first argument to [`param: pageFunction`]. See [Working with selectors](./selectors.md) for
more details.
If [`param: pageFunction`] returns a [Promise], then `frame.$$eval` would wait for the promise to resolve and return its
value.
Examples:
```js
const divsCounts = await frame.$$eval('div', (divs, min) => divs.length >= min, 10);
```
```python async
divs_counts = await frame.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
```python sync
divs_counts = frame.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
### param: Frame.$$eval.selector = %%-query-selector-%%
### param: Frame.$$eval.expression = %%-evaluate-expression-%%
### param: Frame.$$eval.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Frame.addScriptTag
- returns: <[ElementHandle]>
@ -400,6 +294,88 @@ Optional event-specific initialization properties.
### option: Frame.dispatchEvent.timeout = %%-input-timeout-%%
## async method: Frame.evalOnSelector
* langs:
- alias-python: eval_on_selector
- alias-js: $eval
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds an element matching the specified selector within the frame and passes it as a first argument to
[`param: pageFunction`]. See [Working with selectors](./selectors.md) for more details. If no
elements match the selector, the method throws an error.
If [`param: pageFunction`] returns a [Promise], then [`method: Frame.evalOnSelector`] would wait for the promise to resolve and return its
value.
Examples:
```js
const searchValue = await frame.$eval('#search', el => el.value);
const preloadHref = await frame.$eval('link[rel=preload]', el => el.href);
const html = await frame.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
```
```python async
search_value = await frame.eval_on_selector("#search", "el => el.value")
preload_href = await frame.eval_on_selector("link[rel=preload]", "el => el.href")
html = await frame.eval_on_selector(".main-container", "(e, suffix) => e.outerHTML + suffix", "hello")
```
```python sync
search_value = frame.eval_on_selector("#search", "el => el.value")
preload_href = frame.eval_on_selector("link[rel=preload]", "el => el.href")
html = frame.eval_on_selector(".main-container", "(e, suffix) => e.outerHTML + suffix", "hello")
```
### param: Frame.evalOnSelector.selector = %%-query-selector-%%
### param: Frame.evalOnSelector.expression = %%-evaluate-expression-%%
### param: Frame.evalOnSelector.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Frame.evalOnSelectorAll
* langs:
- alias-python: eval_on_selector_all
- alias-js: $$eval
- returns: <[Serializable]>
Returns the return value of [`param: pageFunction`]
The method finds all elements matching the specified selector within the frame and passes an array of matched elements
as a first argument to [`param: pageFunction`]. See [Working with selectors](./selectors.md) for
more details.
If [`param: pageFunction`] returns a [Promise], then [`method: Frame.evalOnSelectorAll`] would wait for the promise to resolve and return its
value.
Examples:
```js
const divsCounts = await frame.$$eval('div', (divs, min) => divs.length >= min, 10);
```
```python async
divs_counts = await frame.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
```python sync
divs_counts = frame.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
### param: Frame.evalOnSelectorAll.selector = %%-query-selector-%%
### param: Frame.evalOnSelectorAll.expression = %%-evaluate-expression-%%
### param: Frame.evalOnSelectorAll.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Frame.evaluate
- returns: <[Serializable]>
@ -817,6 +793,34 @@ Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
### option: Frame.press.timeout = %%-input-timeout-%%
## async method: Frame.querySelector
* langs:
- alias-python: query_selector
- alias-js: $
- returns: <[null]|[ElementHandle]>
Returns the ElementHandle pointing to the frame element.
The method finds an element matching the specified selector within the frame. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns `null`.
### param: Frame.querySelector.selector = %%-query-selector-%%
## async method: Frame.querySelectorAll
* langs:
- alias-python: query_selector_all
- alias-js: $$
- returns: <[Array]<[ElementHandle]>>
Returns the ElementHandles pointing to the frame elements.
The method finds all elements matching the specified selector within the frame. See
[Working with selectors](./selectors.md) for more details. If no elements match the selector,
returns empty array.
### param: Frame.querySelectorAll.selector = %%-query-selector-%%
## async method: Frame.selectOption
- returns: <[Array]<[string]>>

View File

@ -22,7 +22,7 @@ JSHandle prevents the referenced JavaScript object being garbage collected unles
[`method: JSHandle.dispose`]. JSHandles are auto-disposed when their origin frame gets navigated or the parent context
gets destroyed.
JSHandle instances can be used as an argument in [`method: Page.$eval`], [`method: Page.evaluate`] and
JSHandle instances can be used as an argument in [`method: Page.evalOnSelector`], [`method: Page.evaluate`] and
[`method: Page.evaluateHandle`] methods.
## method: JSHandle.asElement

View File

@ -309,107 +309,6 @@ Emitted when <[WebSocket]> request is sent.
Emitted when a dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is spawned by the
page.
## async method: Page.$
* langs:
- alias-python: query_selector
- returns: <[null]|[ElementHandle]>
The method finds an element matching the specified selector within the page. If no elements match the selector, the
return value resolves to `null`.
Shortcut for main frame's [`method: Frame.$`].
### param: Page.$.selector = %%-query-selector-%%
## async method: Page.$$
* langs:
- alias-python: query_selector_all
- returns: <[Array]<[ElementHandle]>>
The method finds all elements matching the specified selector within the page. If no elements match the selector, the
return value resolves to `[]`.
Shortcut for main frame's [`method: Frame.$$`].
### param: Page.$$.selector = %%-query-selector-%%
## async method: Page.$eval
* langs:
- alias-python: eval_on_selector
- returns: <[Serializable]>
The method finds an element matching the specified selector within the page and passes it as a first argument to
[`param: pageFunction`]. If no elements match the selector, the method throws an error. Returns the value of
[`param: pageFunction`].
If [`param: pageFunction`] returns a [Promise], then [`method: Page.$eval`] would wait for the promise to resolve and
return its value.
Examples:
```js
const searchValue = await page.$eval('#search', el => el.value);
const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
const html = await page.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
```
```python async
search_value = await page.eval_on_selector("#search", "el => el.value")
preload_href = await page.eval_on_selector("link[rel=preload]", "el => el.href")
html = await page.eval_on_selector(".main-container", "(e, suffix) => e.outer_html + suffix", "hello")
```
```python sync
search_value = page.eval_on_selector("#search", "el => el.value")
preload_href = page.eval_on_selector("link[rel=preload]", "el => el.href")
html = page.eval_on_selector(".main-container", "(e, suffix) => e.outer_html + suffix", "hello")
```
Shortcut for main frame's [`method: Frame.$eval`].
### param: Page.$eval.selector = %%-query-selector-%%
### param: Page.$eval.expression = %%-evaluate-expression-%%
### param: Page.$eval.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Page.$$eval
* langs:
- alias-python: eval_on_selector_all
- returns: <[Serializable]>
The method finds all elements matching the specified selector within the page and passes an array of matched elements as
a first argument to [`param: pageFunction`]. Returns the result of [`param: pageFunction`] invocation.
If [`param: pageFunction`] returns a [Promise], then [`method: Page.$$eval`] would wait for the promise to resolve and
return its value.
Examples:
```js
const divCounts = await page.$$eval('div', (divs, min) => divs.length >= min, 10);
```
```python async
div_counts = await page.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
```python sync
div_counts = page.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
### param: Page.$$eval.selector = %%-query-selector-%%
### param: Page.$$eval.expression = %%-evaluate-expression-%%
### param: Page.$$eval.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## property: Page.accessibility
- type: <[Accessibility]>
@ -821,6 +720,85 @@ Passing `null` disables CSS media emulation.
Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. Passing
`null` disables color scheme emulation.
## async method: Page.evalOnSelector
* langs:
- alias-python: eval_on_selector
- alias-js: $eval
- returns: <[Serializable]>
The method finds an element matching the specified selector within the page and passes it as a first argument to
[`param: pageFunction`]. If no elements match the selector, the method throws an error. Returns the value of
[`param: pageFunction`].
If [`param: pageFunction`] returns a [Promise], then [`method: Page.evalOnSelector`] would wait for the promise to resolve and
return its value.
Examples:
```js
const searchValue = await page.$eval('#search', el => el.value);
const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
const html = await page.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
```
```python async
search_value = await page.eval_on_selector("#search", "el => el.value")
preload_href = await page.eval_on_selector("link[rel=preload]", "el => el.href")
html = await page.eval_on_selector(".main-container", "(e, suffix) => e.outer_html + suffix", "hello")
```
```python sync
search_value = page.eval_on_selector("#search", "el => el.value")
preload_href = page.eval_on_selector("link[rel=preload]", "el => el.href")
html = page.eval_on_selector(".main-container", "(e, suffix) => e.outer_html + suffix", "hello")
```
Shortcut for main frame's [`method: Frame.evalOnSelector`].
### param: Page.evalOnSelector.selector = %%-query-selector-%%
### param: Page.evalOnSelector.expression = %%-evaluate-expression-%%
### param: Page.evalOnSelector.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Page.evalOnSelectorAll
* langs:
- alias-python: eval_on_selector_all
- alias-js: $$eval
- returns: <[Serializable]>
The method finds all elements matching the specified selector within the page and passes an array of matched elements as
a first argument to [`param: pageFunction`]. Returns the result of [`param: pageFunction`] invocation.
If [`param: pageFunction`] returns a [Promise], then [`method: Page.evalOnSelectorAll`] would wait for the promise to resolve and
return its value.
Examples:
```js
const divCounts = await page.$$eval('div', (divs, min) => divs.length >= min, 10);
```
```python async
div_counts = await page.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
```python sync
div_counts = page.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)
```
### param: Page.evalOnSelectorAll.selector = %%-query-selector-%%
### param: Page.evalOnSelectorAll.expression = %%-evaluate-expression-%%
### param: Page.evalOnSelectorAll.arg
- `arg` <[EvaluationArgument]>
Optional argument to pass to [`param: pageFunction`]
## async method: Page.evaluate
- returns: <[Serializable]>
@ -1717,6 +1695,32 @@ Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
### option: Page.press.timeout = %%-input-timeout-%%
## async method: Page.querySelector
* langs:
- alias-python: query_selector
- alias-js: $
- returns: <[null]|[ElementHandle]>
The method finds an element matching the specified selector within the page. If no elements match the selector, the
return value resolves to `null`.
Shortcut for main frame's [`method: Frame.querySelector`].
### param: Page.querySelector.selector = %%-query-selector-%%
## async method: Page.querySelectorAll
* langs:
- alias-python: query_selector_all
- alias-js: $$
- returns: <[Array]<[ElementHandle]>>
The method finds all elements matching the specified selector within the page. If no elements match the selector, the
return value resolves to `[]`.
Shortcut for main frame's [`method: Frame.querySelectorAll`].
### param: Page.querySelectorAll.selector = %%-query-selector-%%
## async method: Page.reload
- returns: <[null]|[Response]>

View File

@ -1,14 +1,14 @@
### param: ElementHandle.$eval.expression = %%-js-evalonselector-pagefunction-%%
### param: ElementHandle.$$eval.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.$eval.expression = %%-js-evalonselector-pagefunction-%%
### param: Frame.$$eval.expression = %%-js-evalonselectorall-pagefunction-%%
### param: ElementHandle.evalOnSelector.expression = %%-js-evalonselector-pagefunction-%%
### param: ElementHandle.evalOnSelectorAll.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.evalOnSelector.expression = %%-js-evalonselector-pagefunction-%%
### param: Frame.evalOnSelectorAll.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.evaluate.expression = %%-js-evaluate-pagefunction-%%
### param: Frame.evaluateHandle.expression = %%-js-evaluate-pagefunction-%%
### param: Frame.waitForFunction.expression = %%-js-evaluate-pagefunction-%%
### param: JSHandle.evaluate.expression = %%-js-evaluate-pagefunction-%%
### param: JSHandle.evaluateHandle.expression = %%-js-evaluate-pagefunction-%%
### param: Page.$eval.expression = %%-js-evalonselector-pagefunction-%%
### param: Page.$$eval.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Page.evalOnSelector.expression = %%-js-evalonselector-pagefunction-%%
### param: Page.evalOnSelectorAll.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Page.evaluate.expression = %%-js-evaluate-pagefunction-%%
### param: Page.evaluateHandle.expression = %%-js-evaluate-pagefunction-%%
### param: Page.waitForFunction.expression = %%-js-evaluate-pagefunction-%%

View File

@ -275,17 +275,17 @@ Will throw an error if the socket is closed before the `event` is fired.
### option: WebSocket.waitForEvent2.predicate = %%-python-wait-for-event-predicate-%%
### option: WebSocket.waitForEvent2.timeout = %%-python-wait-for-event-timeout-%%
### param: ElementHandle.$eval.foce_expression = %%-python-evaluate-force-expression-%%
### param: ElementHandle.$$eval.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.$eval.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.$$eval.foce_expression = %%-python-evaluate-force-expression-%%
### param: ElementHandle.evalOnSelector.foce_expression = %%-python-evaluate-force-expression-%%
### param: ElementHandle.evalOnSelectorAll.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.evalOnSelector.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.evalOnSelectorAll.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.evaluate.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.evaluateHandle.foce_expression = %%-python-evaluate-force-expression-%%
### param: Frame.waitForFunction.foce_expression = %%-python-evaluate-force-expression-%%
### param: JSHandle.evaluate.foce_expression = %%-python-evaluate-force-expression-%%
### param: JSHandle.evaluateHandle.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.$eval.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.$$eval.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.evalOnSelector.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.evalOnSelectorAll.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.evaluate.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.evaluateHandle.foce_expression = %%-python-evaluate-force-expression-%%
### param: Page.waitForFunction.foce_expression = %%-python-evaluate-force-expression-%%

View File

@ -107,7 +107,7 @@ assert content == "home"
```
### API reference
- [`method: Page.$eval`]
- [`method: Page.evalOnSelector`]
- [`method: JSHandle.evaluate`]
## Inner HTML
@ -238,11 +238,11 @@ assert length == 3
### API reference
- [`method: Page.evaluate`]
- [`method: Page.$eval`]
- [`method: Page.$$eval`]
- [`method: Page.evalOnSelector`]
- [`method: Page.evalOnSelectorAll`]
- [`method: Frame.evaluate`]
- [`method: Frame.$eval`]
- [`method: Frame.$$eval`]
- [`method: ElementHandle.$eval`]
- [`method: ElementHandle.$$eval`]
- [`method: Frame.evalOnSelector`]
- [`method: Frame.evalOnSelectorAll`]
- [`method: ElementHandle.evalOnSelector`]
- [`method: ElementHandle.evalOnSelectorAll`]
- [EvaluationArgument]

View File

@ -172,8 +172,8 @@ my_array_handle.dispose()
## Handle Lifecycle
Handles can be acquired using the page methods such as [`method: Page.evaluateHandle`],
[`method: Page.$`] or [`method: Page.$$`] or their frame counterparts
[`method: Frame.evaluateHandle`], [`method: Frame.$`] or [`method: Frame.$$`]. Once
[`method: Page.querySelector`] or [`method: Page.querySelectorAll`] or their frame counterparts
[`method: Frame.evaluateHandle`], [`method: Frame.querySelector`] or [`method: Frame.querySelectorAll`]. Once
created, handles will retain object from
[garbage collection](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management)
unless page navigates or the handle is manually disposed via the [`method: JSHandle.dispose`] method.
@ -189,5 +189,5 @@ unless page navigates or the handle is manually disposed via the [`method: JSHan
- [`method: ElementHandle.textContent`]
- [`method: JSHandle.evaluate`]
- [`method: Page.evaluateHandle`]
- [`method: Page.$`]
- [`method: Page.$$`]
- [`method: Page.querySelector`]
- [`method: Page.querySelectorAll`]

16
types/types.d.ts vendored
View File

@ -3289,7 +3289,9 @@ export interface Frame {
* `pageFunction`. See [Working with selectors](https://playwright.dev/docs/selectors) for more details. If no elements match the selector, the
* method throws an error.
*
* If `pageFunction` returns a [Promise], then `frame.$eval` would wait for the promise to resolve and return its value.
* If `pageFunction` returns a [Promise], then
* [frame.$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-frame#frameevalselector-pagefunction-arg)
* would wait for the promise to resolve and return its value.
*
* Examples:
*
@ -3314,7 +3316,9 @@ export interface Frame {
* The method finds all elements matching the specified selector within the frame and passes an array of matched elements
* as a first argument to `pageFunction`. See [Working with selectors](https://playwright.dev/docs/selectors) for more details.
*
* If `pageFunction` returns a [Promise], then `frame.$$eval` would wait for the promise to resolve and return its value.
* If `pageFunction` returns a [Promise], then
* [frame.$$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-frame#frameevalselector-pagefunction-arg)
* would wait for the promise to resolve and return its value.
*
* Examples:
*
@ -5302,7 +5306,9 @@ export interface ElementHandle<T=Node> extends JSHandle<T> {
* argument to `pageFunction`. See [Working with selectors](https://playwright.dev/docs/selectors) for more details. If no elements match the
* selector, the method throws an error.
*
* If `pageFunction` returns a [Promise], then `frame.$eval` would wait for the promise to resolve and return its value.
* If `pageFunction` returns a [Promise], then
* [elementHandle.$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-elementhandle#elementhandleevalselector-pagefunction-arg)
* would wait for the promise to resolve and return its value.
*
* Examples:
*
@ -5327,7 +5333,9 @@ export interface ElementHandle<T=Node> extends JSHandle<T> {
* The method finds all elements matching the specified selector in the `ElementHandle`'s subtree and passes an array of
* matched elements as a first argument to `pageFunction`. See [Working with selectors](https://playwright.dev/docs/selectors) for more details.
*
* If `pageFunction` returns a [Promise], then `frame.$$eval` would wait for the promise to resolve and return its value.
* If `pageFunction` returns a [Promise], then
* [elementHandle.$$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-elementhandle#elementhandleevalselector-pagefunction-arg)
* would wait for the promise to resolve and return its value.
*
* Examples:
*

View File

@ -115,10 +115,12 @@ class ApiParser {
*/
parseArgument(spec) {
const match = spec.text.match(/(param|option): ([^.]+)\.([^.]+)\.(.*)/);
if(!match)
throw `Something went wrong with matching ${spec.text}`;
const clazz = this.classes.get(match[2]);
if (!clazz)
throw new Error('Invalid class ' + match[2]);
const method = clazz.membersArray.find(m => m.kind === 'method' && m.name === match[3]);
const method = clazz.membersArray.find(m => m.kind === 'method' && m.alias === match[3]);
if (!method)
throw new Error('Invalid method ' + match[2] + '.' + match[3]);
const name = match[4];

View File

@ -79,7 +79,7 @@ let hadChanges = false;
return writeComment(docClassForName(className).comment) + '\n';
}, (className, methodName) => {
const docClass = docClassForName(className);
const method = docClass.methods.get(methodName);
const method = docClass.methodsArray.find(m => m.alias === methodName);
handledMethods.add(`${className}.${methodName}`);
if (!method) {
if (new Set(['on', 'addListener', 'off', 'removeListener', 'once']).has(methodName))