evaluateHandle(pageFunction[, arg])
将 `pageFunction` 调用的值作为 `JSHandle` 返回。它将此 handle 作为第一个参数传递给 `pageFunction`。
evaluate 与 `evaluateHandle` 唯一的区别在于 `evaluateHandle` 返回 JSHandle。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
pageFunction | function 或 string | 要评估的函数。 | |
arg | string | '' | 传递给 `pageFunction` 的可选参数。 |
返回值
类型 | 描述 |
---|---|
Promise | pageFunction 返回值的 `JSHandle`。 |
示例
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();
}
}