我正在尝试使用chrome的tabCapture api来捕获selenium实例中的音频并继续运行"未找到请求的设备"。
以下是chrome扩展后台脚本
的示例chrome.browserAction.onClicked.addListener(function(tab) {
console.log("browserAction")
chrome.tabCapture.capture(
{video: false, audio: true},
function(stream) {
if (!stream) {
console.error('Error starting tab capture: ' +
(chrome.runtime.lastError.message || 'UNKNOWN'));
return;
}
console.log("got stream")
}
);
});
在常规chrome实例中使用此后台脚本按预期工作但如果我启动selenium并手动单击browserAction按钮,则会发现chrome运行时错误"找不到请求的设备"在后台控制台中记录。
我尝试过使用和不使用-use-fake-device-for-media-stream和--use-fake-ui-for-media-stream的selenium。
为了防止这看起来毫无意义我之所以这样做,我有一个更大的扩展,我在测试中使用,有些测试需要录制音频和/或视频。如果可能的话,我愿意不必在系统级别记录它,所以我试图使用tabCapture。我可以通过白色列出我的扩展来解决激活tabCapture所需的用户操作。
任何可能的解决方案都非常棒。谢谢!