使用 Puppeteer 评估页面时,通常需要将变量传递到评估函数中以在页面中使用页面的上下文。为此,必须了解将变量传递到 page.evaluate() 函数的正确方法。
在提供的 Puppeteer 脚本中,尝试将变量 evalVar 传递到评估函数链接不成功,导致在函数内访问时变量未定义。出现这种情况是因为变量无法直接传递到函数中。
解决方案是将变量作为参数传递给求值函数。通过向 links 函数添加以下更改,变量 evalVar 将在函数内传递和访问:
const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // 2. should be defined now ... }, evalVar); // 1. pass variable as an argument
请注意,在调用 page.evaluate() 时可以通过包含其他参数来传递多个变量。确保所有参数都可序列化为 JSON 或浏览器内对象的 JSHandle 非常重要。通过遵循这些准则,您可以成功地将变量传递到 Puppeteer 中的评估函数并在页面上下文中访问它们。
以上是如何将变量传递给 Puppeteer 的 `page.evaluate()` 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!