如何在Brave Web浏览器上运行Selenium测试?

Bar*_*lly 8 selenium browser-automation selenium-chromedriver selenium-webdriver brave

我正在尝试在Brave Web浏览器上运行一些Selenium测试。我可以使用ChromeDriver通过Selenium启动Brave Web浏览器。但是,没有其他办法,例如,我无法使Brave加载某个网页。

由于Brave基于Chromium,因此我认为这是可行的方法。是否有更合适的方法来支持Brave被Selenium驱动?

这是我使用的de代码:

    ChromeOptions options = new ChromeOptions().setBinary("/Applications/Brave.app/Contents/MacOS/brave");
    WebDriver driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

myi*_*lab 11

系统:
macOS Catalina 10.15.2
Python 3.7.4
pytest 5.3.2
selenium 3.141.0
ChromeDriver 79.0.3945.36
Brave 1.1.23 Chromium:79.0.3945.88(官方版本)(64位)

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'
driver_path = '/usr/local/bin/chromedriver'
drvr = webdriver.Chrome(options = options, executable_path = driver_path)
drvr.get('https://stackoverflow.com')
Run Code Online (Sandbox Code Playgroud)

参考:
Python中通过chromedriver设置chrome浏览器二进制


Bar*_*lly 9

作为记录:自从 Brave 全面使用 Chromium(从 0.57 版开始)以来,这不再是问题。我现在可以通过使用问题中包含的代码片段初始化它来将指令传递给 WebDriver。

不过,请务必检查您的 ChromeDriver 版本是否与您的 Brave 浏览器版本兼容。

  • 谢谢巴尼。对于其他人,请注意,从“Brave Version 0.64.77 Chromium:74.0.3729.169”开始,您必须将 Chromium 版本与 ChromeDriver 版本(在本例中为“ChromeDriver 74.0.3729.6”)和“.SetBinary()”方法更改到 `.BinaryLocation` 属性,您可以在使用 `options` 对象调用 `ChromeDriver()` 的构造函数之前获取和设置该属性。 (3认同)
  • @PetruZaharia 您的评论需要成为答案的一部分 (2认同)