Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Puppeter页面返回值。evaluate()_Javascript_Node.js_Puppeteer - Fatal编程技术网

Javascript 从Puppeter页面返回值。evaluate()

Javascript 从Puppeter页面返回值。evaluate(),javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,因此,我有一个函数返回下一个函数所需的页面: 异步函数浏览器{ const browser=wait puppeter.launch{args:['-no sandbox','-disable setuid sandbox'],headless:false,devtools:true}; const incog=await browser.createIncognitoBrowserContext; const page=等待输入新页面; 等待页面。转到“网络” .Then函数{ page.ev

因此,我有一个函数返回下一个函数所需的页面:

异步函数浏览器{ const browser=wait puppeter.launch{args:['-no sandbox','-disable setuid sandbox'],headless:false,devtools:true}; const incog=await browser.createIncognitoBrowserContext; const page=等待输入新页面; 等待页面。转到“网络” .Then函数{ page.evaluatefunction{ $document.readyfunction{ $'input[name=username]'; $'input[name=password]'.valb; $document.readyfunction{ $'loginbtn'。单击; }; }; }; }; wait page.waitForNavigation{waitUntil:'load'}; 返回页面; 因此,我通过执行以下操作传递结果值浏览器 browser.thenresult=>nextFunctionresult 最终将页面传递到下一个函数

异步函数nextFunctionpage{ 等待页面。转到“网络” .Then函数{ var msg=Test:\n\n; page.evaluatefunction{ var-num=1; $“.card”。每个功能i,e{ msg+====Activity+num+====n; msg+=Subject:+$this.find'.name'.text+\n; msg+=Due:+$this.find'.date'.text+\n; msg+===结束活动+num+===\n\n; num++; }; }; console.logmsg; }; } 我试图从nextFunction打印消息,但它仅打印测试:

我努力实现的目标是: 从nextFunction的返回值获取msg结果或分配变量

有什么解决办法或更好的方法吗

为了使代码更清晰和更容易进行故障排除,请选择一条通道,可以是async/await,也可以是与then链接。两者都使用会使代码更难阅读。async/await更易读,错误处理也不那么棘手。请阅读更多信息 要查看console.log,请侦听“console”事件: const page=await browser.newPage; page.on'console',msg=>console.logmsg.text; page.evaluate上下文与Puppeter是独立的,因此evaluate的消息将是未定义的。请将消息移动到evaluate,然后将结果返回给Puppeter。 let msg=wait page.evaluatefunction{ 让msg=Test:\n\n; 设num=1; $“.card”。每个功能i,e{ msg+====Activity+num+====n; msg+=Subject:+$this.find'.name'.text+\n; msg+=Due:+$this.find'.date'.text+\n; msg+===结束活动+num+===\n\n; num++; }; 返回味精; }; 为了使代码更清晰和更容易进行故障排除,请选择一条通道,可以是async/await,也可以是与then链接。两者都使用会使代码更难阅读。async/await更易读,错误处理也不那么棘手。请阅读更多信息 要查看console.log,请侦听“console”事件: const page=await browser.newPage; page.on'console',msg=>console.logmsg.text; page.evaluate上下文与Puppeter是独立的,因此evaluate的消息将是未定义的。请将消息移动到evaluate,然后将结果返回给Puppeter。 let msg=wait page.evaluatefunction{ 让msg=Test:\n\n; 设num=1; $“.card”。每个功能i,e{ msg+====Activity+num+====n; msg+=Subject:+$this.find'.name'.text+\n; msg+=Due:+$this.find'.date'.text+\n; msg+===结束活动+num+===\n\n; num++; }; 返回味精; };