Javascript 节点Js puppeter值未在函数中定义(page.evaluate)

Javascript 节点Js puppeter值未在函数中定义(page.evaluate),javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我目前正在使用木偶演员(NodeJs)。我使用page.evaluate函数,但不幸的是,我得到了“未定义令牌”。 代码: 当我尝试控制台日志令牌时,我得到“未定义令牌”。 当我用实际的令牌更改令牌变量时,它工作正常。您不能在page.evaluate()的函数参数内使用Node.js上下文中声明的变量,但您可以通过其他参数传递它们的值: const-token=tokenData.split(“\n”)[i]; page.evaluate((myToken)=>{ 设置间隔(()=>{ doc

我目前正在使用木偶演员(NodeJs)。我使用page.evaluate函数,但不幸的是,我得到了“未定义令牌”。 代码:

当我尝试控制台日志令牌时,我得到“未定义令牌”。
当我用实际的令牌更改令牌变量时,它工作正常。

您不能在
page.evaluate()
的函数参数内使用Node.js上下文中声明的变量,但您可以通过其他参数传递它们的值:

const-token=tokenData.split(“\n”)[i];
page.evaluate((myToken)=>{
设置间隔(()=>{
document.body.appendChild(document.createElement`iframe`)
.contentWindow.localStorage.token=`“${myToken}”`
}, 50);
setTimeout(()=>{location.reload();},2500);

},token);//我不知道我是否误解了它,但当我现在读令牌时,我再次得到一个错误,即令牌没有定义。如果我登录我的代币,我将一无所获。也许我不了解整个情况。然而,它是如何工作的。其函数在浏览的上下文中重新创建,无法访问Node.js上下文。
const token = tokenData.split("\n")[i]
page.evaluate(() => {
setInterval(() => {document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage.token = `"${token}"`}, 50);
setTimeout(() => {location.reload();}, 2500);
})