首页 > 解决方案 > 如何从评估函数返回变量?

问题描述

如何从evaluate变量中返回一些东西?

async function myFunction(page, parentID, elementID)
{
  var childElement; 

  await page.evaluate((parentID, elementID) => {
    var parentElement = getParentElement(parentID);
    childElement = parentElement.getChildElement(parentElement, elementID); // SET THIS VALUE TO var childElement ??

  }, parentID, elementID);

  console.log(childElement.id);
}

在这里,我想在var childElement. 我该怎么做?

这东西行不通。它说没有未定义的id。

标签: javascriptnode.jspuppeteer

解决方案


试试这个:

async function myFunction(page, parentID, elementID)
{
  var childElement = await page.evaluate((parentID, elementID) => {
    var parentElement = getParentElement(parentID);
    return parentElement.getChildElement(parentElement, elementID); 
  }, parentID, elementID);

  console.log(childElement.id);
}

推荐阅读