javascript - Document.querySelector() 返回未定义的值

标签 javascript class puppeteer queryselector

我正在 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

}

最佳答案

请尝试:

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 的值。

关于javascript - Document.querySelector() 返回未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59377771/

相关文章:

c# - 在 asp.net 中验证表单数据后如何获取 javascript 确认框?

Java - 非静态类的扩展静态类

c# - 是否可以使用更具体(按返回类型)的方法覆盖基方法?

javascript - 如何在 Puppeteers .evaluate() 方法中传递函数

javascript - React.js getTimeUntil 返回 Nan

javascript - 在 JavaScript 中重命名 JSON 键

jquery - 同时使用 jquery 和 css 类是一种不好的做法吗?

javascript - 如何使用 puppeteer(node js ) 保持 gmail 登录状态

javascript - 在 Raspberry Pi Zero 上,puppeteer 在超时后挂起

javascript - 根据计数结果创建动态变量名