page.exposeFunction
ограничено сериализованными данными, как уже указано в другом ответе.
Но вы можете определить функцию внутри блока page.execute
. Имейте в виду, что определенные там функции будут присутствовать только в среде браузера, а не в вашем скрипте Node.js.
Пример кода
Следующий код реализует myFunction
внутри функции evaluate
и может быть использован ниже:
await page.evaluate((content) => {
const myFunction = (content) => {
return content.outerHTML;
};
const result = myFunction(content);
return result; // or whatever you want to do with the result
}, content);