我的机器人如何检查 js 警报是否弹出(并且可见)?

How can my bot check if a js alert has popped up (and is visible)?

我想知道是否有办法检测到这些。

我正在编写一个 js 机器人,它可以在网站列表中导航并执行不同的操作。我不确定这个项目将如何结束,也不确定它会走向何方,但我学到了很多东西。碰巧有些网站向我发送了一个 'alert' 弹出窗口,这会冻结我的浏览器和我的机器人,直到我手动刷新页面。

这听起来像是一个愚蠢的问题,但我已经找了几个小时,我能找到的大多数东西都是关于硒的,或者对于后端网站管理员来说,检查警报是否在客户端正确显示。

我尝试了一些 window.addEventListener(alert, myFunction() { ... }) 但它根本不起作用。信息太多了,google 根本无法帮助我找到正确的答案。

希望有人能分享一个 isAlertPresent() - 类似函数的代码。我不需要它来点击确定,只是为了知道是否在准确的时间出现警报。

谢谢大家!

您可以像这样覆盖 window.alert 方法:

window.actualAlert = window.alert;
window.alert = function(message) {
  console.log("Alert popup opened");
  // ...custom logic here
  window.actualAlert(message);
}