Struct playwright::api::selectors::Selectors [−][src]
pub struct Selectors { /* fields omitted */ }
Selectors can be used to install custom selector engines.
Implementations
impl Selectors
[src]
pub async fn register(
&self,
name: &str,
script: &str,
content_script: bool
) -> Result<(), Arc<Error>>
[src]
&self,
name: &str,
script: &str,
content_script: bool
) -> Result<(), Arc<Error>>
An example of registering selector engine that queries elements based on a tag name:
const { selectors, firefox } = require('playwright'); // Or 'chromium' or 'webkit'.
(async () => {
// Must be a function that evaluates to a selector engine instance.
const createTagNameEngine = () => ({
// Returns the first element matching given selector in the root's subtree.
query(root, selector) {
return root.querySelector(selector);
},
// Returns all elements matching given selector in the root's subtree.
queryAll(root, selector) {
return Array.from(root.querySelectorAll(selector));
}
});
// Register the engine. Selectors will be prefixed with "tag=".
await selectors.register('tag', createTagNameEngine);
const browser = await firefox.launch();
const page = await browser.newPage();
await page.setContent(`<div><button>Click me</button></div>`);
// Use the selector prefixed with its name.
const button = await page.$('tag=button');
// Combine it with other selector engines.
await page.click('tag=div >> text="Click me"');
// Can use it in any methods supporting selectors.
const buttonCount = await page.$$eval('tag=button', buttons => buttons.length);
await browser.close();
})();
Args
name
Name that is used in selectors as a prefix, e.g. {name: 'foo'}
enables foo=myselectorbody
selectors.
May only contain [a-zA-Z0-9_]
characters.
script
Script that evaluates to a selector engine instance.
content_script
Whether to run this selector engine in isolated JavaScript environment. This environment
has access to the same DOM, but not any JavaScript objects from the frame’s scripts.
Defaults to false
. Note that running as a content script is not
guaranteed when this engine is used together with other registered engines.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Selectors
impl Send for Selectors
impl Sync for Selectors
impl Unpin for Selectors
impl UnwindSafe for Selectors
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,