我想做一些浏览器自动化,那些讨厌的确认/警告框是一个真正的痛苦。不幸的是,在这种情况下完全禁用javascript是不可取的。
好吧,所以我想知道,我可以只更改浏览器的javascript解释器所看到的那些方法的定义,基本上什么都不做并返回true?请注意,我确实知道如何直接在Javascript代码中重新定义它们,例如放入
function alert(message)
{
return true;
}
但是AFAIK对于这种情况来说这不是一种可行的方法,因为在进行浏览器自动化时我必须与其他人的Javascript一起工作。此外,我的程序实际上已经开始在页面完全加载到浏览器后操作这些网站,所以我不能只是首先自动重写javascript然后加载页面。好吧,所以我想知道我是否可以“永久”修改在我的浏览器中实现和执行警报/确认的方式。在windows应用程序领域中,类似于dll注入等等。
答案 0 :(得分:1)
是的,可以做到。试试这个thread
答案 1 :(得分:0)
这项工作在chrome 10,ff 4,msie 8(使用jquery简洁)
window.alert = function(x) {
$('<pre>',{text:x}).appendTo('body');
}