【问题标题】:Take screenshot with of PDF opened in a new tab截取在新选项卡中打开的 PDF 的屏幕截图
【发布时间】:2021-12-15 04:11:43
【问题描述】:

我正在使用 puppeteer 点击打开新标签的链接,并使用以下方法截取此标签:

const pages = await browser.pages()
const new_page = pages[pages.length-1]
await new_page.screenshot()

但我做了一些研究,发现browser.pages() 只包含默认的空白页和我当前的标签,但不包含新标签。

因此,当我截取屏幕截图时,它会截取当前标签的屏幕截图。
为了给您一些上下文,新选项卡是一个 PHP URL,它显示一个 pdf 文件。我尝试了waitForNavigationbringToFront 和几乎所有可能的console.log()

有人知道如何帮助我吗?

【问题讨论】:

  • PDF 文件是实际显示在新标签页中还是通过Content-Disposition 标头触发的下载?
  • 它显示在新标签中

标签: javascript node.js web-scraping bots puppeteer


【解决方案1】:

考虑使用目标:

  1. browser.waitForTarget()
  2. browser.on('targetcreated'))
  3. browser.targets()
const page = await target.page()
await page.bringToFront()
await page.screenshot(...)

【讨论】:

  • 如何用目标截屏?
  • await (await target.page()).bringToFront()
  • 这不起作用,我认为这是因为同样的问题。有三个目标,但一个为空。我想我必须先在我的文件系统中下载 pdf 并在页面中使用它的链接,而不是点击它,但我也不知道该怎么做......
猜你喜欢
  • 2022-08-13
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 2013-10-03
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
相关资源
最近更新 更多