使用噩梦,我正在尝试编写一个弹出确认对话框的网站脚本。噩梦默认按取消,但我需要它按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被调用,我猜测返回正确的东西会改变按下哪个按钮。 “真实”不起作用,也不“正常”。 或者我在这里错过了一些东西? 还有其他方法可以更改默认=取消行为吗?