我有一个 Web 应用程序窗口,需要多次按下按钮来删除某些内容(通过使用 getElementbyClassName()[i] 选择按钮,可以使用 JS 轻松单击该按钮)。但每次点击后我都必须手动按下 window.alert("Are you certain?"); 上的“确定”按钮框。
我无法更改网站机制,因为我不是所有者或开发人员。但我希望能够以某种方式使这些东西自动化。
我用来点击元素的JS:
var el = document.getElementsByClassName('ruleAddButton');
for (var i = 0; i < el.length; i++) {
el[i].click();
}
最佳答案
由于警报只是向用户显示信息(您无法从警报中获取用户输入),因此我认为您可能想以这种方式猴子修补确认功能:
var originalConfirm = window.confirm;
window.confirm = function(msg) {
if (msg.match(/Are you sure/) {
// this confirm should return always true
return true;
} else {
// we want other confirms works as normal
return originalConfirm.bind(window)(msg);
}
}
以防万一,我会对警报功能执行相同的技巧
var originalAlert = window.alert;
window.alert = function(msg) {
if (msg.match(/Are you sure/) {
// this is what alert always returns after user clicks OK
return undefined;
} else {
// we want other alerts works as normal
return originalAlert.bind(window)(msg);
}
}
编辑
此外,您可以执行一些简单的操作,例如:
window.confirm = function() { return true; };
但在这种情况下,请注意所有确认调用都将被拦截
关于javascript - 单击警报框中的按钮或覆盖 window.alert()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850122/