1

https://www.codegrepper.com/code-examples/python/python+selenium+brave+browser

我看到这个例子在 Windows 上使用勇敢的浏览器。它是否应该通过替换 driver_path 和 brave_path 也可以在 Catalina 上工作?

此外,Chromedriver 仅适用于 Chrome。如何确定勇敢的浏览器应该使用哪个版本的chromedriver?

https://chromedriver.chromium.org

from selenium import webdriver

driver_path = "C:/Users/username/PycharmProjects/chromedriver.exe"
brave_path = "C:/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"

option = webdriver.ChromeOptions()
option.binary_location = brave_path
# option.add_argument("--incognito") OPTIONAL
# option.add_argument("--headless") OPTIONAL

# Create new Instance of Chrome
browser = webdriver.Chrome(executable_path=driver_path, chrome_options=option)

browser.get("https://www.google.es")
4

1 回答 1

2

先决条件:
您的chromedriver版本应与您的Brave BrowserWeb 驱动程序版本匹配。

为了确保它确实:

  • 使用 .检查ChromeDriver版本brew info chromedriver。沿着输出的行,它应该阅读chromedriver: 89.0.4389.23(撰写本文时的最新版本)
  • 打开Brave Browser,在菜单栏中单击Brave-> About Brave。按照它应该阅读的内容Version 1.22.71 Chromium: 89.0.4389.114 (Official Build) (x86_64)(再次,在撰写本文时最新)
  • 这两个应该匹配,但是,我不完全确定在哪个程度上,因为正如你在这里看到的,最后一个条目(.23.114)不匹配,但这在我的机器上工作得很好(macOS Big Sur 11.2.3)我不认为 macOS版本应该很重要,但为了完整起见,我仍然提到它。

最后运行以下代码(如果路径不同,请将路径替换为您机器上的路径):

from selenium import webdriver  
driverPath = '/usr/local/Caskroom/chromedriver/89.0.4389.23/chromedriver'
binaryPath = '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'
options = webdriver.ChromeOptions()
options.binary_location = binaryPath
browser = webdriver.Chrome(executable_path=driverPath, chrome_options=options)
browser.get("https://www.google.es")

如果您以前从未使用chromedriver过,在运行代码后,您应该会看到一个 macOS 提示,说chromedriver是来自未知开发者或者是从互联网上下载的,诸如此类。关闭该提示(在继续之前执行此操作很重要)。然后转到System Preferences-> Security & Privacy-> 按锁定图标并解锁它,然后批准chromedriver在您的机器上运行。再次运行上面的代码,又会出现一个新的 macOS 提示,说 smth about unknown developer,这次你可以直接点击 Open。此时应弹出 Brave Browser 窗口。至少在我的机器上是这样。
PS我为可能涉及太多细节而道歉,但有时我对跳过被认为是显而易见的部分的答案感到非常沮丧

于 2021-04-08T04:06:22.603 回答