Puppeteer 中文文档v25.8.0

WebWorker.evaluate() 方法

工作线程中求值给定的函数。

签名

class WebWorker {
  evaluate<
    Params extends unknown[],
    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
  >(func: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
}

参数

参数

类型

说明

func

Func | string

要求值的函数。

args

Params

要传入 func 的参数。

返回值:

Promise<Awaited<ReturnType<Func>>>

func 的结果。

备注

如果给定函数返回一个 promise,evaluate 将等待该 promise 解析。

一般来说,如果给定函数的返回值比 JSON 对象更复杂(例如大多数类),那么 evaluate 将_可能_返回某个截断的值(或 {})。这是因为我们返回的不是实际的返回值,而是通过协议将返回值传输到 Puppeteer 后得到的反序列化版本。

通常,如果 evaluate 无法正确序列化返回值,或者你需要指向返回对象的可变 handle,则应使用 evaluateHandle