Joh*_*ter 12 firefox selenium google-chrome selenium-firefoxdriver
我正在开发一个基于java/selenium的应用程序,需要将媒体,即音频和/或视频文件传递给浏览器.
我已经能够使用以下代码段在Chrome中成功完成此操作:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("--allow-file-access-from-files",
"--use-fake-ui-for-media-stream",
"--allow-file-access",
"--use-file-for-fake-audio-capture=D:\\PATH\\TO\\WAV\\xxx.wav",
"--use-fake-device-for-media-stream");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);
Run Code Online (Sandbox Code Playgroud)
Firefox 33.1中是否有类似的选项可以实现相同的功能?
如果没有,怎么办呢?
这是一种在 Linux 上从命令行设置假网络摄像头的方法。
# 1. Install v4l2loopback kernel module from apt
sudo apt install v4l2loopback-dkms
# 2. Enable the "fake webcam", via v4l2loopback kernel module
sudo modprobe v4l2loopback devices=1 card_label="My Fake Webcam" exclusive_caps=1
Run Code Online (Sandbox Code Playgroud)
# Link video file (on loop) to the "fake webcam"
ffmpeg -stream_loop -1 -re -i ./MYFILE.mp4 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
Run Code Online (Sandbox Code Playgroud)
# Link desktop video stream to the "fake webcam"
ffmpeg -f x11grab -r 15 -s 1280x720 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
Run Code Online (Sandbox Code Playgroud)
最重要的是它适用于 Firefox 和 Chrome!因为它在内核级别伪造了网络摄像头。
在此处测试您的假网络摄像头:https : //webcamtests.com/
如果您需要禁用它...
# To disable the fake webcam, simply remove it from the kernel
sudo modprobe --remove v4l2loopback
Run Code Online (Sandbox Code Playgroud)
无论如何,希望有人觉得这很有用!
Firefox 只有这些能力, browserName、browserVersion、platformName、acceptInsecureCerts、pageLoadStrategy、proxy、setWindowRect、timeouts、unhandledPromptBehavior
但作为一种选择,下面的代码中有一个,
options.addPreference("media.navigator.streams.fake", true);
希望它可以帮助您解决这种情况。
| 归档时间: |
|
| 查看次数: |
1329 次 |
| 最近记录: |