Selenium设置Firefox Profile不显示打印弹出窗口

时间:2015-02-17 13:17:37

标签: java firefox selenium selenium-webdriver

当我点击这样的JavaScript事件时,我想将Firefox配置文件的首选项设置为不打开打印对话框:

<button onclick="myFunction()">Print this page</button>

<script>
function myFunction() {
    window.print();
}
</script>

到目前为止,我在我的Ubuntu 12.04机器上尝试了这个,但它没有用:

profile.setPreference("capability.policy.blockPrinting.Window.print", "noAccess");
profile.setPreference("capability.policy.default.Window.print","noAccess");

2 个答案:

答案 0 :(得分:0)

根据this answer,他们通过启用

解决了这个问题
"print.always_print_silent": "true",
"print.show_print_progress": "false"

尝试将其放在您的偏好中:

profile.setPreference("print.always_print_silent", "true");
profile.setPreference("print.show_print_progress", "false");

但是要小心,可能实际上执行打印并在物理打印纸张的情况下,如果它已连接,可能。

答案 1 :(得分:0)

与硒一起使用的正确解决方案是:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("print.always_print_silent", true);
profile.setPreference("print.show_print_progress", false);

true和false必须是布尔值而不是字符串!