如何将变量传递给 puppeteer page.$eval();

Oto*_*ett 4 node.js puppeteer

我声明了一个变量,我试图将它传递给 aneval但它没有显示出来。如何正确传递变量。

var now = moment().format('YYYY-MM-D');
await page.$eval('#middleContent_txtEndDate', el => el.value = now);
Run Code Online (Sandbox Code Playgroud)

如果我在eval函数内声明一个变量,它会起作用:

var now = moment().format('YYYY-MM-D');
await page.$eval('#middleContent_txtEndDate', el => el.value = "it works");
Run Code Online (Sandbox Code Playgroud)

Mar*_*nde 16

您可以将附加参数传递给$eval

const now = moment().format('YYYY-MM-D');

await page.$eval('#middleContent_txtEndDate', (el, now, foo) => {
   console.log(el, now, foo);
   return el.value = now;
}, now, 'foo');
Run Code Online (Sandbox Code Playgroud)

  • 上帝为此赐福给你 (5认同)