gpt4 book ai didi

java - 如何处理 Selenium 中的打印对话框?

转载 作者:IT老高 更新时间:2023-10-28 20:22:37 26 4
gpt4 key购买 nike

我必须处理打印对话框(在浏览器中单击 ctrl-p 时出现的相同)。我试过了:

Alert printDialog = driver.switchTo().alert();
printDialog.dismiss();

但它没有用。我也抓不到它的窗口句柄,因为它不是一个窗口......

是否可以处理这些对象以及如何处理?

最佳答案

很遗憾,WebDriver 无法处理这些(或任何其他浏览器或操作系统对话框)。此外,它们在浏览器/系统/语言设置之间往往看起来不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都能正常工作。您的选择包括:

  • Robot类,它允许您以编程方式“按”键盘上的任何内容(或盲目单击),从而摆脱对话框,例如按 EnterEsc。但是,如上所述,任何高级交互都依赖于操作系统/语言/打印机。

    // 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 程序,可用于处理任何系统级自动化。与上述相同的依赖关系。

差不多就是这样。如果可以避免打印对话框,请尝试截取页面并打印using standard Java tools .

关于java - 如何处理 Selenium 中的打印对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11537103/

26 4 0
文章推荐: java - 在 Maven 中仅编译选定的文件
文章推荐: python - Numpy AttributeError : 'float' object has no attribute 'exp'
文章推荐: python - Django:使用