如何在确认对话框上覆盖恶梦默认(取消)响应

时间:2018-06-01 15:00:03

标签: javascript modal-dialog default confirm nightmare

使用噩梦,我正在尝试编写一个弹出确认对话框的网站脚本。噩梦默认按取消,但我需要它按OK按钮。

我创建了一个运行脚本来模拟网站的页面,这是一个非常简单的确认对话框:

<head>
    <script>
        function log(message) {
            console.log(message)
            document.getElementById("demo").innerHTML = message;
        }

        function confirmDialog() {
            log("Started")
            if (confirm("Press a button!")) {
                log("OK")
            } else {
                log("Cancel")
            }
        }
    </script>
</head>

<body>
    <button id="confirmButton" onclick="confirmDialog()">Try it</button>
    <p id="demo"></p>
</body>

我遇到的噩梦剧本是:

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

nightmare
    .goto('http://localhost:3000')  // the html code above
    .wait(5000)
    .on('page', function (type = "confirm", message) {
      console.log('confirm called')
      return true
    })
    .click("#confirmButton")
    .wait(5000)
    .end()
    .catch(error => {
      console.error('Search failed:', error)
    })

那么如何覆盖默认按钮以便点击OK呢? .on被调用,我猜测返回正确的东西会改变按下哪个按钮。 “真实”不起作用,也不“正常”。 或者我在这里错过了一些东西? 还有其他方法可以更改默认=取消行为吗?

0 个答案:

没有答案