evaluateHandle(pageFunction[, arg])
Returns the value of the pageFunction
invocation as a JSHandle
. It passes this handle as the first argument to the pageFunction
.
The only difference between evaluate and evaluateHandle
is that evaluateHandle
returns JSHandle.
Parameter | Type | Defaults | Description |
---|---|---|---|
pageFunction | function or string | Function to be evaluated. | |
arg | string | '' | Optional argument to pass to pageFunction . |
Returns
Type | Description |
---|---|
Promise | A JSHandle of the return value of pageFunction . |
Example
import { browser } from 'k6/browser';
export const options = {
scenarios: {
browser: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const page = await browser.newPage();
try {
await page.goto('https://test.k6.io/browser.php');
const jsHandle = await page.evaluateHandle(() => document.body);
const obj = await jsHandle.evaluateHandle((handle) => {
return { innerText: handle.innerText };
});
console.log(await obj.jsonValue()); // {"innerText":"< Back...
} finally {
await page.close();
}
}