Nightmare.js 找不到 css 标签

问题描述

我目前正在开发一个程序来自动执行某个网站上的任务(简化代码如下)。
我很好地登录,然后等待页面加载,但等待功能永远不会结束。我尝试使用 wait(200),但随后评估函数返回一个空数组。我 100% 确定网站中有 p.reference 元素。
有谁知道发生了什么?

const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })

nightmare

  .goto('https://somewebsite.com')
  
  .insert('input#username','abc@abc.com')
  .insert('input#password','abc') 
  .click('button#Login')
  .wait('p.reference')
  .evaluate(selector=>{
    return document.querySelectorAll(selector)
  },'p.reference'
  )
  .end()
  .then(console.log)
  .catch(error => {
    console.error('Search Failed:',error)
})

解决方法

我认为问题在于密码查找。 由于您正在寻找具有 password 类的字段,因此您需要更改为

  .insert('input#password','abc') 

  .insert('input.password','abc') 

但我敢打赌是第一个,根据另一个领域。