mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
chore(docs): aliases for dotnet/chsarp docs. (#5162)
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
This commit is contained in:
parent
69ca30834e
commit
dbcdf9dcd7
@ -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`.
|
||||
|
||||
@ -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]>
|
||||
|
||||
|
||||
@ -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]>>
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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]>
|
||||
|
||||
|
||||
@ -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-%%
|
||||
|
||||
@ -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-%%
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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
16
types/types.d.ts
vendored
@ -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:
|
||||
*
|
||||
|
||||
@ -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];
|
||||
|
||||
@ -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))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user