如何在 Catalina 上使用带有 Selenium 的 Brave Web 浏览器?

如何解决如何在 Catalina 上使用带有 Selenium 的 Brave Web 浏览器?

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")

解决方法

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

为了确保它:

  • 使用 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 来自未知开发者或从 Internet 下载,诸如此类。关闭该提示(在继续之前执行此操作很重要)。然后转到 System Preferences -> Security & Privacy -> 按锁定图标并解锁,然后批准 chromedriver 在您的机器上运行。再次运行上面的代码,会出现一个新的macOS提示,再次提示smth about unknown developer,这次直接点击打开即可。此时应弹出 Brave Browser 窗口。至少在我的机器上是这样。
附注我很抱歉可能涉及太多细节,但有时我对跳过被认为是显而易见

的部分的答案感到非常沮丧

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?