Эта проблема характерна для любой библиотеки, которая выполняется в Node.js и оценивает код в браузере (Protractor, TestCafe, Nightmare и т. Д.).Функция является строковой и передается в браузер в виде строки.Исходная область действия (input) => { console.log(value) }
потеряна, и ожидается, что value
будет глобальным, что не определено.
Как указано в документации , дополнительные аргументы должны передаваться $eval
.
Должно быть:
await page.$eval('.selector', (el, value) => { console.log(value) }, USERNAME);
console.log
будет работать, но, очевидно, ничего не будет отображаться в консоли Node, поскольку это относится к консоли браузера.