我得处理打印对话框( 提取的区域时显示在浏览器中单击ctrl p ) 。 我试过,配置如下:
Alert printDialog = driver.switchTo().alert();
printDialog.dismiss();
但是这样是不行的。 也抓不到它的窗口句柄,因为它不是窗口。。。
有可能处理这些对象和操作方法
不幸的是,web driver无法处理这些( 或其他任何浏览器或OS对话框) 。 此外,它也会听着跨浏览器/ 系统/ 语言设置不同,所以大概没有明确的回答。 你需要检测并处理每个可能的情况下,使其工作的所有位置。 你的选项包括:
" Robot
类,它允许你" 按" 通过编程键盘上的任何( 或单击盲目地),因此摆脱Ի麻烦- - 比如说按 Enter 或 Esc 。 但是,就像前面说过的,任何高级交互所依赖OS / language / 打印机。
// press Escape programatically - the print dialog must have focus, obviously
Robot r = new Robot();
r.keyPress(KeyEvent.VK_ESCAPE);
r.keyRelease(KeyEvent.VK_ESCAPE);
AutoIt 。 它是一个适用于管理任何系统级Windows程序自动化。 同样的依赖关系如上。
情况基本就是这样 如果你能避免使用标准的打印对话框,请尝试要抓取网页并将其输出 Java 工具。