javascript - 我的机器人如何检查 js 警报是否弹出(并且可见)?
问题描述
我试图了解是否有办法检测到这些。
我正在编写一个浏览网站列表并执行不同操作的 js 机器人。我不确定这个项目将如何结束,也不确定它会走向何方,但我学到了很多东西。有些网站会向我发送一个“警报”弹出窗口,它会冻结我的浏览器和我的机器人,直到我手动刷新页面。
这听起来像是一个愚蠢的问题,但我已经找了几个小时,我能找到的大多数东西都是关于 selenium 的,或者后端网站管理员可以检查警报是否在客户端正确显示。
我尝试了一些window.addEventListener(alert, myFunction() { ... })
,但它根本不起作用。信息太多,谷歌根本没有帮助我找到正确的答案。
希望有人可以分享isAlertPresent()
类似功能的代码。我不需要它来单击确定,只是为了知道警报是否在准确的时间出现。
谢谢你们!
解决方案
您可以像这样覆盖window.alert
方法:
window.actualAlert = window.alert;
window.alert = function(message) {
console.log("Alert popup opened");
// ...custom logic here
window.actualAlert(message);
}
推荐阅读
- sql - 如何在 SSRS 中组合参数?
- reactjs - 为什么刷新反应路由器不起作用?
- sapui5 - 如何通过代码跳转到移动设备上的另一个拆分窗格?
- elasticsearch - 在弹性搜索中更新嵌套对象
- java - 带有 Spock 的 PowerMockito:无法从 java.util.concurrent 模拟类
- loadrunner - 如何在负载测试期间提取 Performance Center 运行 ID?
- visual-studio-2017 - 当 GenerateAssemblyInfo 为 False
- c# - 使用 LINQ 从 SQL 存储过程返回单个值
- hibernate - Jpa 存储库和 JsonIgnoreProperties 在 getOne() 和 findAll() 方法中以不同方式返回相同的对象
- azure - Azure 存储客户端日志记录和 .NET Core 控制台应用程序