在平时处理影刀RPA问题的时候,会找到一些好用的技巧,在这篇文章中做个记录,也方便以后自己查找。
网页
获取网页弹窗(JavaScript Alerts)的内容
类似下图这样的弹窗,这种事 JS 原生的 Alert 弹窗,不再 HTML 标签里,无法选中弹窗的 DOM

对于获取这类弹窗的内容,可以用以下思路解决
- 向页面注入JS劫持
window.alert方法,将 msg 保存到全局变量 - RPA点击按钮触发弹窗,然后关闭弹窗
- 向页面注入JS,读取全局变量中的 msg
劫持 windw.alert 的 js
function (element, input) {
// 保存原始 alert
window._originalAlert = window.alert;
// 重写 alert,劫持弹窗内容
window.alert = function (msg) {
window._lastAlertMsg = msg; // 存到全局变量
console.log("捕获到弹窗:", msg); // 调试打印
window._originalAlert(msg); // 继续弹出原弹窗
};
return null;
}
读取页面全局变量的 js
function (element, input) {
// 读取劫持到的弹窗文本
let msg = window._lastAlertMsg || "";
console.log("最终弹窗内容:", msg);
return msg;
}
在影刀中的使用如下图
