我正在使用Selenium(在Mac上使用Python)来抓取一个需要我的相机的网站
但是,我不想使用我的计算机摄像头,我想使用(OBS应用程序的)虚拟摄像头
一开始,我的第一个问题是允许ChromeDriver使用相机,因为出现了许可弹出窗口。我用这个代码解决了这个问题:
options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", { \
"profile.default_content_setting_values.media_stream_mic": 1, # 1:allow, 2:block
"profile.default_content_setting_values.media_stream_camera": 1, # 1:allow, 2:block
"profile.default_content_setting_values.geolocation": 2, # 1:allow, 2:block
"profile.default_content_setting_values.notifications": 2 # 1:allow, 2:block
})
这样,它就使用了我的默认相机。我想补充一下
"profile.default_content_setting_values.media_stream_camera.option": "OBS",
在上面的代码中,但这并不完全正确。我读到位于/Users/myusername/Library/Application Support/Google/Chrome/Default/Preferences.json的Preferences.json文件可以显示在上述prefs字典中可以更改的内容,但我不是很了解它
由于我无法继续,任何帮助都是非常有价值的
启动脚本时,可以转到Chrome相机设置并更改默认相机:
由于Selenium不支持与ShadowDOM元素交互,因此需要遍历每个Shadow根元素
相关问题 更多 >
编程相关推荐