使用Puppeteer for Node.js自动允许网络摄像头访问

Jar*_*red 3 permissions webcam node.js puppeteer

我正在设置一个涉及启动网络摄像头视频会话的测试.

到目前为止,所有工作正常,除了授予对网络摄像头的访问权限外,不需要任何用户交互.

当我正在使用的第三方库发出呼叫时:navigator.mediaDevices.getUserMedia({audio: true, video: true}) 浏览器会打开一个提示,要求用户允许访问.

我正在寻找的是一种在没有用户交互的情况下授予访问权限的方法.

我已经尝试了木偶操作者,page.on('dialog'...但是没有调用网络摄像头访问提示.

如果您有任何想法,请告诉我?

小智 10

Google Chrome有一个启动选项--use-fake-ui-for-media-stream,允许用户跳过getUserMedia的提示.你可以像下面的木偶操纵者一样设置它.

const puppeteer = require('puppeteer')
;(async () => {
    const browser = await puppeteer.launch({
        args: [ '--use-fake-ui-for-media-stream' ]
    })
    const page = await browser.newPage()
    await page.goto('http://localhost/start-video-test.html')
    const startVideoButton = await page.$('#startVideoButton')
    startVideoButton.click()
    // video session starts without prompt
    return browser.close()
})()
Run Code Online (Sandbox Code Playgroud)