const pointName = 'xyz';
await page.$eval('.popup-dialog input[name=name]', el => el.value = pointName );
我不明白为什么pointName
在此示例中无法解决,并且我得到了
Error: Evaluation failed: ReferenceError: pointName is not defined
有人可以启发我吗?
答案 0 :(得分:2)
您设置值的函数在页面上下文中运行。在该上下文中,Node.js环境中的变量是未知的,必须将其作为参数传递给您的函数。
对于功能page.$eval
,您传递以下参数:
将所有内容放在一起,您可以这样做:
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
);