2

我想做一些浏览器自动化,那些讨厌的确认/警报框真的很痛苦。不幸的是,在这种情况下完全禁用 javascript 不是一种选择。

好吧,所以我想知道,我可以将浏览器的 javascript 解释器看到的那些方法的定义更改为基本上什么都不做并返回 true 吗?请注意,我确实知道直接在 Javascript 代码中重新定义它们,例如放入

function alert(message)
{
  return true;
}

但是 AFAIK 对于这种情况,这不是一种可行的方法,因为在进行浏览器自动化时,我必须使用其他人的 Javascript。此外,我的程序实际上在页面完全加载到浏览器后就已经开始操作这些网站,所以我不能只是先自动重写 javascript 然后加载页面。好吧,所以我想知道是否可以“永久”修改在浏览器中实现和执行警报/确认的方式。有点像 Windows 应用程序领域中的 dll 注入等。

4

2 回答 2

1

是的,它可以做到。试试这个线程

于 2010-01-27T16:37:17.697 回答
0

这项工作适用于 chrome 10、ff 4、msie 8(为简洁起见,使用 jquery)

window.alert = function(x) {
    $('<pre>',{text:x}).appendTo('body');
    }
于 2011-03-31T00:23:31.267 回答