0

我正在 puppeteer 中制作一个网页抓取程序,该程序应该从网站收集文本。我创建这个类是为了从“#identifierId > option:nth-child(1)”中收集文本并将其存储为对象属性,但它返回一个未定义的值:我错过了什么?

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

}
4

1 回答 1

1

请试试:

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 实际上已经是您尝试将 this.ArrayObject[0].text 设置为的值。

于 2019-12-17T16:01:37.980 回答