我能够使用Selenium、ChromeDriver和Python启动Brave浏览器
代码试验:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
options = Options()
options.binary_location = r'C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe'
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
s = Service('C:\\BrowserDrivers\\chromedriver.exe')
driver = webdriver.Chrome(service=s, options=options)
driver.get("https://www.google.com/")
但我无法摆脱产品分析通知栏几乎类似于 * 谷歌Chrome* 通知栏。
有人能帮帮我吗?
3条答案
按热度按时间o2rvlv0m1#
我从来没有使用过勇敢浏览器,所以感谢你打开这个问题。
@flydev指出了勇敢的开关。
Brave代码库中pref_names.cc中的开关
再次引用Brave代码库:
我尝试在
selenium.webdriver.common.desired_capabilities.DesiredCapabilities
中使用这些开关。代码片段
不幸的是,这并不奏效。当我查看Brave Browser的github帐户时,我发现了以下内容:
正如你所看到的,这是一个已知的问题。我将继续寻找使用
DesiredCapabilities
的方法。同时,您可以将Brave配置文件传递给驱动程序,这将抑制确认通知。
代码如下:
在使用配置文件之前,您必须在Brave浏览器中禁用这些项目。
下面是配置文件1和无确认通知框的浏览器。
7z5jn7bk2#
我 * 认为 * 这是不可能的了,我真的不知道这背后的真正原因,但至少有两个原因。
首先,命令行开关
--p3a-upload-enabled
是可选的,并且仅在Bravebeta-test
之前可用。第二,它肯定与隐私,GDPR和内部政策有关,因为P3 A Brave功能不收集个人信息,但仍然收集遥测数据,并考虑到软件质量。
您将在他们的博客上获得有关此部分的更多信息:https://brave.com/privacy-preserving-product-analytics-p3a/
作为参数,你可以看看这个commit,更准确地说,在L13,L79-L 80和L212-L221行,他们删除了开关
--p3a-upload-enabled
。回到您的问题,如果您不需要运行
chromedriver
profileless,那么只需设置一个配置文件,一旦浏览器运行,您可以关闭通知栏,关闭状态将保存在配置文件中,下次运行时,该栏将被隐藏。以下代码将在WebDriver示例化时创建配置文件:
而且,
WebDriver运行后,在Profile文件夹中的Preferences文件中会有如下配置部分:
解决方案可以是在WebDriver示例化上设置这些首选项:
不幸的是,我无法设法让它工作,尽管没有错误-如果你这样做,请ping我:)
如果你问我是否可以在WebDriver示例化后设置功能,那么我会再次说nop,就Selenium的当前实现而言,一旦WebDriver示例通过DesiredCapabilities类配置了我们想要的配置并初始化WebDriver会话以打开浏览器,我们就不能更改功能运行时。
bhmjp9jg3#
当我在Google上搜索:C# Selenium "Brave uses completely private product analytics to estimate the overall usage of certain features"
这个页面出现在结果的第一个,其余的结果似乎无关。
所以,我将在这里发布我对C#的答案,尽管这最初是一个Python问题。它也可以帮助Python程序员。我投了赞成票“生活是复杂的,因为它引导我走上了一条神奇的道路。”谢谢
希望能帮上忙。
编码愉快!!!