Импортируемые функции не работают в кукловоде - PullRequest
0 голосов
/ 05 апреля 2020

Импорт длинной функции JS из другого файла:

let startTheShow = require('./scraper.js');

И затем попытка использовать эту функцию на странице.

await page.evaluate(() => {

    startTheShow('info','hi','hi');


})

Каков ожидаемый результат? Импортированная функция будет работать на странице

Что происходит вместо этого?"startTheShow не определено"

Размещение Необработанный сценарий внутри оценки вместо импорта модуля в индекс устраняет проблему. К сожалению, эта опция создает много беспорядка в файле индекса. Есть идеи, почему я не могу использовать эту импортированную функцию?

1 Ответ

1 голос
/ 05 апреля 2020

Из документов :

pageFunction <function|string> Функция для оценки в контексте страницы

evaluate(() => startTheShow()) означает, что должно быть startTheShow функция в контексте страницы, которая, как я предполагаю, не существует, и контекст страницы не знает, что такое startTheShow. Вы должны либо передать строковую версию ./scraper.js, либо функцию startTheShow для оценки.

Пример передачи строк из документов:

console.log(await page.evaluate('1 + 2')); // prints "3"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...