关于quora的Nightmare.js脚本无法正常工作

时间:2017-12-04 09:24:06

标签: javascript nightmare

我写了这个脚本来登录quora。

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

nightmare
  .goto('https://www.quora.com/')
  .type('input[name="email"]','xyz@gmail.com')
  .type('input[type="password"]','pass123')
  .click('input[type="submit"]')
  .wait(5000)
  .click('.disable_click_on_edit_mode')
  .wait(5000)
  .evaluate(function () {
    return document.querySelectorAll('.question_link').href;
  })
  .end()
  .then(function (result) {
    console.log(result);
  })
  .catch(function (error) {
    console.error('Error message:', error);
  });

它应该可以通过在电子邮件字段中输入我的电子邮件和在我的密码字段中输入我的密码然后单击登录按钮来轻松登录到quora。 但是当我运行这个脚本时,它会在电子邮件字段中输入电子邮件和密码,然后导致错误。

1 个答案:

答案 0 :(得分:1)

好的,我试过并找到了另一个有效的解决方案。由于该登录页面中只有两个输入框,您可以使用:

nightmare
  .goto('https://www.quora.com/')
  .type('input[tabindex="1"]','xyz@gmail.com')
  .type('input[tabindex="2"]','pass123')
  .click('input[type="submit"]')
  .wait(5000)
  .click('.disable_click_on_edit_mode')
  .wait(5000)
  .evaluate(function () {
    return document.querySelectorAll('.question_link').href;
  })