Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试访问Puppeter调用中的函数参数时接收ReferenceError_Javascript_Node.js_Web Scraping_Puppeteer - Fatal编程技术网

Javascript 尝试访问Puppeter调用中的函数参数时接收ReferenceError

Javascript 尝试访问Puppeter调用中的函数参数时接收ReferenceError,javascript,node.js,web-scraping,puppeteer,Javascript,Node.js,Web Scraping,Puppeteer,我有一个功能,选择过滤器的网站上使用木偶 问题是,当我传递函数参数并在将其传递到页面之前对其进行控制台日志记录时。选择或页面。$eval则正确记录这些参数,但函数表示变量未定义 private static async selectFilterOptions( { skillFilter, skillMinValue }) { try { console.log({ skillFilter, skillMinValue }); // { skillFilter: '1', s

我有一个功能,选择过滤器的网站上使用木偶

问题是,当我传递函数参数并在将其传递到
页面之前对其进行控制台日志记录时。选择
页面。$eval
则正确记录这些参数,但函数表示变量未定义

private static async selectFilterOptions( { skillFilter, skillMinValue }) {
    try {
      console.log({ skillFilter, skillMinValue }); // { skillFilter: '1', skillMinValue: '30' }

      await this.page.waitForSelector(".containerMain");
      await this.page.select("select[name='skill']", skillFilter);
      await this.page.$eval("input[name='range']", el => el.value = skillMinValue); // Evaluation failed: ReferenceError: skillMinValue is not defined
      
      await this.page.click("input[name='Search']");

    } catch (error) {
      console.log(error.message)
    }
  }
文档以这种方式描述功能:

page.$eval(selector, pageFunction[, ...args])
这里的参数是在page.evaluate内部使用的任意数量的逗号分隔参数(可选,必须可序列化)

因此,在您的案例中,以下是如何将值从节点上下文传递到浏览器上下文:

await this.page.$eval("input[name='range']", el => el.value = skillMinValue, skillMinValue);