3

我正在使用 Selenium 测试我的网站,我可以在--auto-select-desktop-capture-source="tab_name"启用屏幕共享时打开 chrome 并选择选项卡。现在我希望标签中播放的音频与视频一起出现在我的流中。手动执行此操作时,有一个启用音频共享的复选框,但有什么可以帮助从 Selenium 启用它吗?

这是一个小提琴:https : //jsfiddle.net/john_vera/yr2k9xob/5/ 在对话框中选择 chrome 选项卡后注意共享音频复选框​​。我想从 Selenium 中检查一下。

4

1 回答 1

3

您可以创建自定义 chromium 构建并为此对话框实施绕过。要构建铬,您可以使用以下说明(适用于 Windows):这里

这里是文件 display_media_access_handler.cc 中的绕过:

寻找这一行:

// Orignal code
pending_request.picker->Show(picker_params, std::move(source_lists), std::move(done_callback));

并用这个替换它

// Bypass dialog
content::DesktopMediaID screenSource(content::DesktopMediaID::TYPE_SCREEN, content::DesktopMediaID::kNullId, web_contents);
screenSource.audio_share = true;

OnPickerDialogResults(web_contents, screenSource);
// End of bypass

我用 Chromium 版本 84 测试它。

于 2020-04-20T18:05:29.160 回答