首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用puppeteer转到网页,然后按Control打印页面?

如何使用puppeteer转到网页,然后按Control打印页面?
EN

Stack Overflow用户
提问于 2021-08-30 23:14:33
回答 1查看 135关注 0票数 1

如何在由木偶操纵者自动化的网页上按下control +P?

这段代码加载网页。但使用await page.keyboard.down('Control')键按Control键不起作用。

代码语言:javascript
复制
(async () =>
{
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto(`https://google.com`);

  await page.waitForSelector('input'); 
  await page.focus("input");

 // this works
  await page.keyboard.down('Shift');
  await page.keyboard.press('KeyP');
  await page.keyboard.up('Shift');

// this has no effect.
  await page.keyboard.down('Control');
  await page.keyboard.press('KeyP');
  await page.keyboard.up('Control');

})();

我想要做的是导航到一个PDF文件。让浏览器打开PDF。然后按Control并自动执行打印对话框,使代码选择要打印的打印机并按Enter键。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-01 15:36:56

kiosk模式下运行puppeteer可以自动响应window.print( )对话框。

代码语言:javascript
复制
const puppeteer = require('puppeteer');

(async () =>
{
  const browser = await puppeteer.launch(
    {
      headless: false, 
      "args": [ "--kiosk-printing" ]
    });

  const page = await browser.newPage();
  await page.goto(`file:///C:/Users/srich/Downloads/packing-list.pdf`);

  await page.evaluate(() => { window.print(); });
  await page.waitForTimeout(2000) ;

  await browser.close( ) ;
})();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68991207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档