无法在nightmarejs读取null的属性'blur'

时间:2016-10-12 07:21:30

标签: node.js web-crawler nightmare

我最近一直在制作简单的代码。但它不起作用。 为什么这样?我不明白。我猜它没有错误语法。

但它发生了“无法读取属性'模糊'的空”

你可以帮我吗?

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

nightmare.goto('https://www.google.com')
.type('form[action*="/search"] [name=f]', 'aa')
.click('form[action*="/search"] [type=submit]')
.then(function (res) {
    console.log(res);

})
.catch(function (err) {
    console.log(err);
});

1 个答案:

答案 0 :(得分:0)

存在一个已知问题,即在键入事件期间更改或删除的DOM元素可能会导致类似的问题。它将在Nightmare的下一个版本中修复。有关详细信息,请参阅#820。引用修复PR:

  

如果在进行模糊调用之前从DOM中删除了键入或插入的元素(如果在键事件上删除了元素,则会发生这种情况),会引发异常。 blurSelector现在确保在进行模糊调用之前元素仍然存在。如果在聚焦后选择器不存在,还会添加调试消息。

您的脚本似乎对Google的当前版本无效 - 您是否也仔细检查了选择器?