如何使用(JavaScript和/或)FirefoxDriver测试window.print()
方法是否被覆盖?
可以禁用页面上的所有打印按钮,如下所示:
window.print = function() { alert("Bazinga") }
通过以下方式,正常的“打印”链接不再起作用了:
<a onclick="window.print()">....</a>
我需要检查window.print()
调用是否执行原始打印对话框。
也许可以在FirefoxWebdriver中注入一些JavaScript吗?
答案 0 :(得分:3)
由于window.print是本机函数,您可以:
if( window.print.toString().indexOf('[native code]') > -1 ) {
//native
}
答案 1 :(得分:2)
我根据Luca的回答和Christoph的评论创建了fiddle。即使在IE6中,此功能也将检测本机打印对话框。
function isNativePrint() {
var isNative = false;
try {
if (window.print.toString().indexOf('[native code]') > -1) isNative = true;
} catch (e) {
isNative = true;
}
return isNative;
}