Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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 将innerText/textContent与变量内的值进行比较_Javascript_Html_Web Scraping_Nightmare - Fatal编程技术网

Javascript 将innerText/textContent与变量内的值进行比较

Javascript 将innerText/textContent与变量内的值进行比较,javascript,html,web-scraping,nightmare,Javascript,Html,Web Scraping,Nightmare,我正在webscrape中使用噩梦.js,并尝试向带有特定文本的按钮添加一个id,以便我可以单击它,因为页面是用javascript动态生成的。下面的代码不起作用,因为出于某种原因,我无法在if语句的indexOf中使用变量 const噩梦=require('噩梦') 常量噩梦=噩梦({show:false}) const rp=要求(“请求-承诺”); const cheerio=需要(“cheerio”); var size=“9”; 噩梦 后藤先生('https://www.flight

我正在webscrape中使用噩梦.js,并尝试向带有特定文本的按钮添加一个id,以便我可以单击它,因为页面是用javascript动态生成的。下面的代码不起作用,因为出于某种原因,我无法在if语句的indexOf中使用变量

const噩梦=require('噩梦')
常量噩梦=噩梦({show:false})
const rp=要求(“请求-承诺”);
const cheerio=需要(“cheerio”);
var size=“9”;
噩梦
后藤先生('https://www.flightclub.com/')
.type(“#搜索”,“air jordan 4 cactus jack\u000d”)
.等等(1000)
。单击(“.result缩略图”)
.评估(()=>{
var correctSize=document.getElementsByTagName(“按钮”);
对于(变量i=0;i-1)correctSize[i].id='thisone';
}
})
。单击('按钮[id=thisone]')
(完)
.catch(错误=>{
console.error('搜索失败:',错误)

})
变量不是您在节点范围内定义的变量,因为evaluate在浏览器范围内运行。您需要传递变量以进行如下计算

  .evaluate((____size) => {
    var correctSize = document.getElementsByTagName('button');
    for (var i = 0; i < correctSize.length; i++) {
      if (correctSize[i].textContent.indexOf(____size) > -1) correctSize[i].id = 'thisone';
    }
  }, (____size))
.evaluate((\uuuuu大小)=>{
var correctSize=document.getElementsByTagName(“按钮”);
对于(变量i=0;i-1)correctSize[i].id='thisone';
}
},((尺寸))
那就行了

假设您将变量命名为\uuuuuuuuuuuuu size