如何打印页面并关闭硒中的“打印”窗口

时间:2019-06-01 08:28:14

标签: javascript java selenium

新鲜硒:

我在硒中使用了以下代码来打开打印窗口,但是它不起作用

Keyboard keyboard = ((HasInputDevices)driver).getKeyboard();
keyboard.pressKey(Keys.ENTER);  
keyboard.pressKey(Keys.chord(Keys.CONTROL, "p"));

我使用以下代码打开“打印”窗口,它可以正常工作

((JavascriptExecutor) driver).executeScript("print()");

我的问题是如何打印页面并关闭打印窗口?

1 个答案:

答案 0 :(得分:0)

您可以使用 kiosk-printing chrome选项完成打印,而无需与打印窗口进行交互。

这是您可以使用的代码段。

Java:

ChromeOptions options = new ChromeOptions();
options.addArguments("--kiosk-printing");

WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.print();");

Python:

options = webdriver.ChromeOptions()
options.add_argument('--kiosk-printing')

driver = webdriver.Chrome(chrome_options=options)
driver.get("https://google.com")
driver.execute_script('window.print();')

您将看到打印窗口几秒钟,然后它将自动关闭。然后,您可以在默认打印机中查看打印作业。