如何从控制台调用Chrome Node屏幕截图

mot*_*dev 8 google-chrome google-chrome-devtools puppeteer

我知道您可以在命令提示符下捕获单个html节点小瓶,但是可以通过类似于Puppeteer的控制台以编程方式执行此操作吗?我想循环页面上的所有元素并捕获偶尔的一次性项目,我不想在puppeteer中设置完整的auth过程.

我指的是这个功能: 在此输入图像描述

但是就像在foreach或类似的事情中一样从控制台执行.

请参阅此处的木偶操作参考.

这样的效果:
$x("//*[contains(@class, 'special-class-name')]").forEach((el)=> el.screenshot())

Edi*_*nto 1

我刚刚制作了一个脚本,可以对 Google 主页中的每个提交按钮进行屏幕截图。只需看一下并从中获取一些灵感即可。

const puppeteer = require('puppeteer')

;(async () => {
    const browser = await puppeteer.launch({
        headless:false,
        defaultViewport:null,
        devtools: true,
        args: ['--window-size=1920,1170','--window-position=0,0']
    })

    const page = (await browser.pages())[0]

    const open = await page.goto ( 'https://www.google.com' )

    const submit = await page.$$('input[type="submit"]')

    const length = submit.length

    let num = 0

    const shot = submit.forEach( async elemHandle => {
        num++
        await elemHandle.screenshot({
            path : `${Date.now()}_${num}.png`
        })
    })

})()
Run Code Online (Sandbox Code Playgroud)