puppeteer调用js的问题

// index.js
const puppeteer = require('puppeteer');
const path = require('path');

const b = path.join(__dirname, './b.html');

const init = async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('file://' + b);
  const res = await page.evaluate(getName);
  console.log(res);
  await browser.close();
};

init();
// b.html
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./b.js"></script>
</head>

<body>

</body>

</html>
// b.js
function getName(){
  return 'bbb';
}

最终执行node index.js时,提示getName is not defined?这种调用页面中引用的js方法需要怎么调用

阅读 4k
1 个回答

最好备注下puppeteer的版本

const res = await page.evaluate(() => getName());

文档
Puppeteer v8.0.0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题