10

我已经有了一个使用谷歌浏览器的完全可操作的抓取工具。为了让它快速运行,我以编程方式使用广告拦截器、跟踪器拦截器、图像拦截器、弹出窗口拦截器等(基本上每种拦截器)对其进行配置。有很多行配置代码需要维护。

随之而来的是勇敢。

其中包含我想要的所有拦截器 - 内置!它也是基于 Chromium 构建的——就像 Chrome 一样。出于这个原因,我可以将 ChromeDriver 与 Brave 一起使用是有道理的。但它真的有效吗?

所以我尝试了它 - 并且失败了 - 除了以下例外:

System.InvalidOperationException occurred
  HResult=0x80131509
  Message=unknown error: no chrome binary at C:\SOMEPATH\Brave64\app-0.22.22\brave.exe
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 6.1.7601 SP1 x86_64)
  Source=WebDriver
  StackTrace:
   at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options)
   at FOO.GOO.Historical.Scrape.Session.CreateDriver[T]() in D:\FOO\FOO.GOO.Historical.Scrape\Session.cs:line 211
   at FOO.GOO.Historical.Scrape.TestFixtures.Pages.PageTest.SessionSetUp(Boolean login) in D:\FOO\FOO.GOO.Historical.Scrape\TestFixtures\Pages\PageTest.cs:line 23
   at FOO.GOO.Historical.Scrape.TestFixtures.ScraperTests.SetUp() in D:\FOO\FOO.GOO.Historical.Scrape\TestFixtures\ScraperTests.cs:line 21

很明显,它不能直接替换。ChromeDriver 表示它想要一个 chrome 二进制文件,而不是一个勇敢的二进制文件。

有人可以解释一下是否有适用于 Brave 的驱动程序吗?我已经对性能提升垂涎三尺了。

4

1 回答 1

2

答案所述,勇敢的浏览器完全支持 chrome webdriver。你应该看看 chrome://version 并检查 webdriver 和 browser/chromium 版本是否真的匹配。

于 2019-05-06T20:28:35.937 回答