Задача
Ваша функция, которая устанавливает значение, запускается в контексте страницы. Переменные из среды Node.js неизвестны в этом контексте и должны быть переданы в качестве аргумента вашей функции.
Решение
Для функции page.$eval
вы передаете следующие аргументы:
- Селектор
- Функция : Первым аргументом функции будет элемент. Следующие аргументы будут аргументами, передаваемыми после функции.
- Любое сериализуемое значение : Любые значения, переданные в качестве третьего (или даже другого аргумента), будут переданы в качестве второго (или третьего ...) аргумента функции.
Собрав все вместе, вы можете сделать это так:
await page.$eval(
'.popup-dialog input[name=name]',
(el, pointName) => el.value = pointName, // executed in the page context
pointName // this is the variable from the Node.js environment
);