diff --git a/404.html b/404.html index 050ef84c523..3f9ffe225cc 100644 --- a/404.html +++ b/404.html @@ -6,7 +6,7 @@
// get the amount of divs on the page
const divCount = await page.$$eval('div', divs => divs.length);
// get the text content of all the `.options` elements:
const options = await page.$$eval('div > span.options', options => {
return options.map(option => option.textContent);
});
If you are using TypeScript, you may have to provide an explicit type to the first argument of the pageFunction
. By default it is typed as Element[]
, but you may need to provide a more specific sub-type:
// if you don't provide HTMLInputElement here, TS will error
// as `value` is not on `Element`
await page.$$eval('input', (elements: HTMLInputElement[]) => {
return elements.map(e => e.value);
});
await page.$$eval('input', elements => {
return elements.map(e => e.value);
});
The compiler should be able to infer the return type from the pageFunction
you provide. If it is unable to, you can use the generic type to tell the compiler what return type you expect from $$eval
:
// The compiler can infer the return type in this case, but if it can't
// or if you want to be more explicit, provide it as the generic type.
const allInputValues = await page.$$eval<string[]>(
'input',
(elements: HTMLInputElement[]) => elements.map(e => e.textContent)
);
const allInputValues = await page.$$eval('input', elements =>
elements.map(e => e.textContent)
);