Options().add_experimental_option 不起作用

问题描述

我一直在编写脚本以在 Google Chrome 中自动执行任务。不幸的是,我没有运气让 Chrome 访问我的麦克风并拒绝访问通知。我曾尝试使用 Options().add_experimental_option() 但没有任何运气。我做错了什么还是有其他方法?我曾尝试使用假 UI 和假媒体流来删除弹出窗口,但这也没有奏效。 Options().add_argument("--use-fake-ui-for-media-stream"); Options().add_argument("--use-fake-device-for-media-stream")

import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options

Options().binary_location = "C:\Program Files\Google\Chrome\Application\chrome.exe"
Options().add_argument("start-maximized");
Options().add_argument("--disable-infobars")
# 1 to allow,2 to block
Options().add_experimental_option("prefs",{ \
   "profile.default_content_setting_values.media_stream_mic": 1,"profile.default_content_setting_values.media_stream_camera": 2,"profile.default_content_setting_values.geolocation": 2,"profile.default_content_setting_values.notifications": 2
})
driver=webdriver.Chrome(".\chromedriver.exe",options=Options())

解决方法

您需要在 Options 的单个实例中添加所有属性参数实验选项,并作为启动 ChromeDriver / 组合时的参数如下:

import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "C:\Program Files\Google\Chrome\Application\chrome.exe"
options.add_argument("start-maximized")
options.add_argument("--disable-infobars")
# 1 to allow,2 to block
options.add_experimental_option("prefs",{ \
   "profile.default_content_setting_values.media_stream_mic": 1,"profile.default_content_setting_values.media_stream_camera": 2,"profile.default_content_setting_values.geolocation": 2,"profile.default_content_setting_values.notifications": 2
})
driver=webdriver.Chrome(".\chromedriver.exe",options=options)

参考文献

您可以在以下位置找到一些相关的详细讨论: