selenium+chrome使用webrtc音频或视频时,默认开启麦克风和摄像头
1.第一种
用webrtc进行音视频通话,前提是先默认chrome开启音视频,代码如下,其中两处写了重点
class WebRTC:def __init__(self):# chrome浏览器设置ch_option = webdriver.ChromeOptions()prefs = {# chrome不弹出的“是否接受xxx通知”'profile.default_content_setting_values.notifications': 2,# chrome开启麦克风--重点"profile.default_content_setting_values.media_stream_mic": 1,# chrome开启摄像头--重点"profile.default_content_setting_values.media_stream_camera": 1 }ch_option.add_experimental_option('prefs', prefs)# chrome不显示是收到自动软件控制ch_option.add_experimental_option('excludeSwitches', ['enable-automation'])# 忽略证书错误,不需要手动点高级选项ch_option.add_argument('--ignore-certificate-errors')# 为媒体流使用假设备来替换实际的摄像头和麦克风# ch_option.add_argument('--use-fake-device-for-media-stream')# 通过选择媒体流的默认设备(例如 WebRTC)绕过媒体流信息栏。与 --use-fake-device-for-media-stream 一起使用。# ch_option.add_argument('--use-fake-ui-for-media-stream') path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))# chrome驱动路径chrome_driver = path + r'/data/browser_driver/chromedriver.exe' self.browser = webdriver.Chrome(executable_path=chrome_driver, options=ch_option)
上述代码亲测成功,使用的主机物理摄像头和麦克风。
2.第二种
class WebRTC:def __init__(self):# chrome浏览器设置ch_option = webdriver.ChromeOptions()prefs = {# chrome不弹出的“是否接受xxx通知”'profile.default_content_setting_values.notifications': 2}ch_option.add_experimental_option('prefs', prefs)# chrome不显示是收到自动软件控制ch_option.add_experimental_option('excludeSwitches', ['enable-automation'])# 忽略证书错误,不需要手动点高级选项ch_option.add_argument('--ignore-certificate-errors')# 同时开启麦克风和摄像头--重点ch_option.add_argument('--use-fake-ui-for-media-stream') path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))# chrome驱动路径chrome_driver = path + r'/data/browser_driver/chromedriver.exe' self.browser = webdriver.Chrome(executable_path=chrome_driver, options=ch_option)
3.例外情况
# 使用--use-fake-ui-for-media-stream,不要带--use-fake-device-for-media-stream
ch_option.add_argument('--use-fake-ui-for-media-stream')
# 为媒体流使用假设备来替换实际的摄像头和麦克风
ch_option.add_argument('--use-fake-device-for-media-stream')
这种情况无法使用物理摄像头和麦克风。
实际验证结果:用webrtc和手机APP进行通话,手机端:显示webrtc为绿屏(假视频),听到滴滴滴的声音
selenium+chrome使用webrtc音频或视频时,默认开启麦克风和摄像头相关推荐
- vue element-upload上传视频或音频获取视频时长
做这步操作主要是后端要求传视频的时长duration这个字段,获取方法 第一种: <el-upload class="upload-demo":multiple=" ...
- Firefox 66 将阻止自动播放音频和视频
百度智能云 云生态狂欢季 热门云产品1折起>>> 当我们点击一个链接,或者打开新的浏览器选项卡时,浏览器就开始自动播放视频和声音,这是一件十分烦人的事.Chrome 浏览器早已对 ...
- Android 播放视频时横竖屏的调整
我个人看视频的时候喜欢横屏看,这样视频图像显得还大,所以在做自己的播放器的时候默认就是横屏显示.这样在播放横屏录制的视频时没有问题,但是一旦播放竖屏录制的视频问题就大了,图像都是偏转90度的.这可怎么 ...
- html javascript 音频、视频、 mp3 、mp4 的播放、暂停、重新播放、获取音频时长、视频自动全屏播放
html javascript 音频.视频. mp3 .mp4 的播放.暂停.重新播放.获取音频时长 视频 https://www.bilibili.com/video/BV1WE411o7Ft?fr ...
- Chrome播放视频时只有声音没有画面
问题 win7下Chrome在线播放视频时只有声音,没有画面 解决 打开Chrome,点击右上角菜单,选择设置 -> 高级 -> 系统,取消使用硬件加速模式(如果可用): 重启Chrome ...
- 使用声网sdk音视频时,播放本地音频心得
注意: 使用声网sdk音视频时,需要使用声网sdk内部的播放音频api 否则在iOS12系统上,通过avplayer播放时,使用replaceItem的方式切换AVPlayerItem时会出现声音消失 ...
- win10系统,python3.8环境,chrome浏览器,selenium框架,实现腾讯视频自动登录
文章目录 环境 代码演示 总结 环境 win10系统,python3.8环境,chrome浏览器,selenium框架,实现腾讯视频自动登录 代码演示 from selenium import web ...
- CentOS7 Selenium chrome截图时,文字呈方框乱码状态解决
在CentOS7使用Selenium chrome截图时,图片中文字为乱码状态,如下图: 在centos上安装了宋体字体解决了这个问题 系统:centos 7 下载宋体文件:点击下载 把文件放到 /u ...
- 关于java 上传的音频或视频文件获取时长及视频封面
1.引入依赖,由于在Github上面的maven依赖,下载不下来,需要手动下载jar,然后安装到本地的maven仓库 <!-- https://mvnrepository.com/artifac ...
最新文章
- FIR滤波器的Matlab实现
- 多线程:中断(interrupt、interrupted、executor)
- java 脚本语言交互_Java学习笔记--脚本语言支持API
- SQL Express自动备份
- Taro+react开发(87):图片引入
- node.js Websocket消息推送---GoEasy
- c++实现KMP算法中的Next[ ]
- CentOS下MySQL主从同步配置
- 【jQuery笔记Part3】02-jQuery抖动效果
- Ubuntu16.04安装Mono4.2.1 C#开发环境
- REHL5 mail不能自动外发邮件
- 190730每日一句
- MATLAB雷达信号处理
- 计算机光盘无法格式化,win10无法格式化dvd光盘
- android充电指示灯颜色修改
- C语言:使用指针,封装一个函数, // 使输入的奇数从小到大排列,奇数排列完毕之后,再把偶数从大到小进行排列, // 最终输出整个
- pytorch训练的pt模型转换为onnx(nn.DataParallel()、model、model.state_dict())
- --MBTI 性格测试
- 如何使用C语言动态定义数组长度
- 人工智能的四波浪潮以及未来的发展方向
热门文章
- FastReport 金额大小写转换自定义函数
- uni-app 第三方授权登录
- Python .format()函数使用方法
- 解决 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。(酷狗音乐占用8000端口)
- 锐捷交换机处理环路问题
- 小猫爬山(DFS+剪枝)
- 拼多多改销量10+是怎么回事
- 征服英语的二十二条军规
- c语言中怎么用scanf给二维数组赋值,关于VC++6.0无法用scanf()输入浮点值赋给二维数组的问题...
- hive------内部函数与自定义函数