加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

page.evaluate(pageFunction, ...args)详解

发布时间:2020-12-14 21:51:48 所属栏目:大数据 来源:网络整理
导读:page.evaluate(pageFunction,...args) pageFunction ?[function]|[string] 要在页面实例上下文中执行的方法 ...args ?...[Serializable]|[JSHandle] 要传给? pageFunction ?的参数 返回: [Promise][Serializable]? pageFunction 执行的结果 如果pageFunction

page.evaluate(pageFunction,...args)

  • pageFunction?<[function]|[string]> 要在页面实例上下文中执行的方法
  • ...args?<...[Serializable]|[JSHandle]> 要传给?pageFunction?的参数
  • 返回: <[Promise]<[Serializable]>>?pageFunction执行的结果

如果pageFunction返回的是[Promise],page.evaluate将等待promise完成,并返回其返回值。

如果pageFunction返回的是不能序列化的值,将返回undefined

pageFunction传参数示例:

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:

const bodyHandle = await page.$(‘body‘);
const html = await page.evaluate(body => body.innerHTML,bodyHandle);
await bodyHandle.dispose();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读