如何在每个请求上执行噩梦?

时间:2017-11-06 22:44:17

标签: node.js express nightmare

如何在每次请求时执行噩梦?

以下方法只运行一次,从第二次开始,脚本不运行。它处于无限负荷之中。它能是什么?

谢谢

app.get('/', (req, res) => {

    nightmare
        .goto('https://site.com.br')
        .wait(() => {
            return $('#url').text() !== ''
        })
        .evaluate(() => {

            return $('#url').text()
        })
        .end()
        .then((result) => {

            res.send(result)

        })
        .catch((error) => {
            console.error('Search failed:', error);
        });   

})

1 个答案:

答案 0 :(得分:0)

它只运行一次,因为您在第一个请求中调用.end来结束实例,并且您将无法将该实例用于将来的请求。

删除该行,它应该绝对正常。

app.get('/', (req, res) => {

    nightmare
        .goto('https://site.com.br')
        .wait(() => {
            return $('#url').text() !== ''
        })
        .evaluate(() => {

            return $('#url').text()
        })
        .end() // <-- remove this line
        .then((result) => {

            res.send(result)

        })
        .catch((error) => {
            console.error('Search failed:', error);
        });   

})