Javascript querySelector()返回未定义的值

Javascript querySelector()返回未定义的值,javascript,class,puppeteer,queryselector,Javascript,Class,Puppeteer,Queryselector,我正在用木偶剧制作一个网络垃圾程序,它应该是从一个网站收集文本。 我创建这个类是为了从identifierId>option:nth-child1收集文本并将其存储为对象属性,但它返回一个未定义的值:我缺少什么 async getText () { await this.page.waitForSelector('#identifierId> option:nth-child(1)'); this.findText = await this.page.evaluate(()

我正在用木偶剧制作一个网络垃圾程序,它应该是从一个网站收集文本。 我创建这个类是为了从identifierId>option:nth-child1收集文本并将其存储为对象属性,但它返回一个未定义的值:我缺少什么

async getText () {

   await this.page.waitForSelector('#identifierId> option:nth-child(1)');

   this.findText = await this.page.evaluate(() => {
        this.text = this.document.querySelector('#identifierId> option:nth-child(1)').innerText 
        return this.text
   })

   this.ArrayObject[0].text = this.findText.text

}
请尝试:

async getText () {

   await this.page.waitForSelector('#identifierId> option:nth-child(1)');

   this.findText = await this.page.evaluate(() => {
        this.text = this.document.querySelector('#identifierId> option:nth-child(1)').innerText 
        return this.text
   })

   this.ArrayObject[0].text = this.findText

}
解释-
基本上,在this.findText函数中,您实际上已经返回this.text,这意味着this.findText实际上已经是您试图将其设置为的值。ArrayObject[0]。text

将此行-this.ArrayObject[0].text=this.findText.text更改为this.ArrayObject[0].text=this.findText-您还应该改进您的问题,并为我们提供更多的信息:好吧,它成功了!谢谢你的欢迎,我会把它作为一个答案贴出来,并做一些解释,这样你就知道以后要找什么了。