首页 > 解决方案 > 我的机器人如何检查 js 警报是否弹出(并且可见)?

问题描述

我试图了解是否有办法检测到这些。

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

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

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

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

谢谢你们!

标签: javascriptbrowserautomated-testsbotsalert

解决方案


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

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

推荐阅读