.evaluate
функция обратного вызова выполняется в контексте страницы, а не в контексте основного сценария, поэтому url
не определено.
Внутри обратного вызова вы можете получить доступ к любому variable
, определенному в глобальном браузере.scope.
Если вы хотите получить доступ к url
изнутри .evaluate
, вы можете передать его в качестве аргумента.
page.evaluate(async (url) => {
// browser context
var response = await fetch(url);
var json = await response.json();
return json;
}, url); // pass it as an argument