gpt4 book ai didi

javascript - 将多个参数传递给 page.evaluate()

转载 作者:行者123 更新时间:2023-11-30 20:02:55 24 4
gpt4 key购买 nike

我将一个附加参数传递给隐式 map() 函数。

这是在这部分代码中找到的

{ s: elementPath.match(RegExp(/=(.*?)]/))[1] }

我想将一个附加参数状态传递给外部函数,而不是正则表达式,以便内部函数 map() 可以访问它

let res = await page.evaluate(elementPath => {
return Array.from(
document.querySelectorAll(elementPath),
function(cin, index) {
const result = {
cinemaState: this.s,
cinemaIndex: index,
cinemaId: cin.getAttribute("data-id"),
cinemaName: cin.getAttribute("data-name"),
cinemaURL: cin.getAttribute("data-url")
};
return result;
},
{ s: elementPath.match(RegExp(/=(.*?)]/))[1] } // extracts state from the selector //TODO pass as additional argument
);
}, `div[data-state=${state}] div.top-select-option a.eccheckbox`);

我不确定参数如何从外部函数级联到最内部的函数。将不胜感激任何指导

最佳答案

您可以将尽可能多的必要参数传递到 page.evaluate 中,只要它们是可序列化的:

await page.evaluate( (selector, state) => {
console.log(selector)
console.log(state)
}, "div.top-select-option a.eccheckbox", state);

关于javascript - 将多个参数传递给 page.evaluate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com