pageFunction
<[function]|[string]> 要在页面实例上下文中执行的方法...args
<...[Serializable]|[JSHandle]> 要传给 pageFunction
的参数pageFunction
执行的结果若是pageFunction返回的是[Promise],page.evaluate
将等待promise完成,并返回其返回值。html
若是pageFunction返回的是不能序列化的值,将返回undefined
git
给pageFunction
传参数示例:github
const result = await page.evaluate(x => { return Promise.resolve(8 * x); }, 7); // (译者注: 7 能够是你本身代码里任意方式获得的值) console.log(result); // 输出 "56"
也能够传一个字符串:
console.log(await page.evaluate('1 + 2')); // 输出 "3" const x = 10; console.log(await page.evaluate(`1 + ${x}`)); // 输出 "11"
[ElementHandle] 实例 能够做为参数传给 page.evaluate
:api
const bodyHandle = await page.$('body'); const html = await page.evaluate(body => body.innerHTML, bodyHandle); await bodyHandle.dispose();