gpt4 book ai didi

javascript - Puppeteer - 访问外部范围变量失败

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

 const pointName = 'xyz';

await page.$eval('.popup-dialog input[name=name]', el => el.value = pointName );

我不明白为什么 pointName 不能在这个例子中解析,我得到了一个 错误:评估失败:ReferenceError:pointName 未定义

谁能教教我?

最佳答案

问题

设置值的函数在页面上下文中运行。来自 Node.js 环境的变量在该上下文中是未知的,必须作为参数传递给您的函数。

解决方案

对于函数 page.$eval您传递以下参数:

  1. 选择器
  2. 函数:函数的第一个参数是元素。以下参数将作为函数后传递的参数。
  3. 任何可序列化的值:作为第三个(或什至另一个参数)传递的任何值都将作为第二个(或第三个...)参数传递给函数。

把它们放在一起,你可以这样做:

await page.$eval(
'.popup-dialog input[name=name]',
(el, pointName) => el.value = pointName, // executed in the page context
pointName // this is the variable from the Node.js environment
);

关于javascript - Puppeteer - 访问外部范围变量失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55524329/

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