gpt4 book ai didi

javascript - Puppeteer 多行 waitForFunction 方法

转载 作者:行者123 更新时间:2023-11-30 14:05:11 26 4
gpt4 key购买 nike

我正在使用 Puppeteer page.waitForFunction()方法:

await page.waitForFunction(`
(window.hero.x - 1 === ${x} || window.hero.x === ${x} || window.hero.x + 1 === ${x} || window.hero.x === ${x}) && (window.hero.y - 1 === ${y} || window.hero.y === ${y} || window.hero.y + 1 === ${y} || window.hero.y === ${y}) || window.hero.x === ${x} && window.hero.y === ${y}
`);

它正在运行,但看起来很糟糕。我想将其更改为多行。 In docs有:

page.waitForFunction(pageFunction[, options[, ...args]])

pageFunction <function|string> Function to be evaluated in browser context

To pass arguments from node.js to the predicate of page.waitForFunction function:

const selector = '.foo';
await page.waitForFunction(selector => !!document.querySelector(selector), {}, selector);

我试过这样的:

console.log(x,y); // 24 42
await page.waitForFunction((x, y) => {
console.log(x, y); // undefined, undefined
if(x && y) {
return true;
}
});

但是xy我试图通过的是未定义的。我做错了什么?

最佳答案

您需要传入 xy - 目前它们是参数。您还可以稍微简化您的功能:

await page.waitForFunction((x, y) => (x && y ? true : undefined), {}, x, y);

关于javascript - Puppeteer 多行 waitForFunction 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55564748/

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