selenium - 使用 selenium 进行测试:chrome screensharing 自动选择选项卡并与音频共享
问题描述
我正在使用 Selenium 测试我的网站,我可以在--auto-select-desktop-capture-source="tab_name"
启用屏幕共享时打开 chrome 并选择选项卡。现在我希望标签中播放的音频与视频一起出现在我的流中。手动执行此操作时,有一个启用音频共享的复选框,但有什么可以帮助从 Selenium 启用它吗?
这是一个小提琴:https : //jsfiddle.net/john_vera/yr2k9xob/5/ 在对话框中选择 chrome 选项卡后注意共享音频复选框。我想从 Selenium 中检查一下。
解决方案
您可以创建自定义 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 测试它。
推荐阅读
- javascript - 收到警告:过滤列表时超出最大更新深度
- ssh - 如何使用 MQTT.fx 客户端接收 Broker 的数据?
- java - 初学者java顺序递增设置变量并重置计数
- swift - 设备更改后,UIView 未调整宽度
- python - GridSearchCV - FitFailedWarning:估计器拟合失败
- c++ - 如何只显示有 5 个座位的汽车?
- python - 在 Python 中解析顶部行中的表/列和底部行中的记录的文本文件
- spring - Spring - 聚合 - 提要活动
- python - 将列表中的每个元素与另一个列表中的 2 个元素进行比较并提高代码效率
- javascript - Js - 将 scrollTop 转换为不透明度级别