首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Brave web浏览器与python、selenium和chromedriver一起使用?

如何将Brave web浏览器与python、selenium和chromedriver一起使用?
EN

Stack Overflow用户
提问于 2019-09-08 05:11:44
回答 4查看 10.8K关注 0票数 8

我从谷歌的Chrome转到了Brave web browser,我很难让它像Chrome那样在Brave上工作。Brave是基于铬的,所以我猜它应该不会那么难。我确保我的Brave和Chromedriver在相同的版本上,就像这样。

代码语言:javascript
复制
~/some/path $ chromedriver --version
ChromeDriver 76.0.3809.126 (d80a294506b4c9d18015e755cee48f953ddc3f2f-refs/branch-heads/3809@{#1024})

我的chromedriver也是/user/bin格式的,

代码语言:javascript
复制
~/path $ cd /usr/bin/
/usr/bin $ ls | grep chromedriver
chromedriver 

为了检查勇敢的版本,我得到:Version 0.68.132 Chromium: 76.0.3809.132 (Official Build) (64-bit)

然后我运行这段代码

代码语言:javascript
复制
from selenium import webdriver

driver = webdriver.Chrome(executable_path='/usr/bin/brave-browser')
driver.get("http://www.python.org")
driver.close()

这将打开一个Brave窗口,但随后将抛出异常,而不是获取驱动程序所指向的页面。

代码语言:javascript
复制
Traceback (most recent call last):
  File "webscrap.py", line 3, in <module>
    driver = webdriver.Chrome(executable_path='/usr/bin/brave-browser')
  File "/home/username/.local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/home/username/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 98, in start
    self.assert_process_still_running()
  File "/home/username/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 111, in assert_process_still_running
    % (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/brave-browser unexpectedly exited. Status code was: -11
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-10-30 03:17:24

我终于设法让它工作了:

试试这个python脚本(python3.7)

代码语言:javascript
复制
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")

干杯。

票数 20
EN

Stack Overflow用户

发布于 2020-11-27 07:27:27

chromedriver密钥用于传递WebDriver二进制文件的绝对路径,即chromedriver可执行文件。

要启动Brave浏览器会话,还必须通过ChromeOptions实例的binary_location参数传递brave-browser二进制文件的绝对位置。

因此,有效的代码块将是:

代码语言:javascript
复制
from selenium import webdriver

chromedriver_path = '/usr/bin/chromedriver'
brave_path = '/usr/bin/brave-browser'
option = webdriver.ChromeOptions()
option.binary_location = brave_path
browser = webdriver.Chrome(executable_path=driver_path, options=option)
browser.get("https://www.google.es")

参考文献

您可以在以下位置找到几个相关的详细讨论:

票数 3
EN

Stack Overflow用户

发布于 2020-06-09 09:05:18

这也适用于安装了Brave浏览器的Windows10。我下载了Chromedriver,并将其放在Brave.exe的文件夹中。

代码语言:javascript
复制
from selenium import webdriver
driver_path = "C:\\Users\\5150s\\AppData\\Local\\Programs\\Python\\Python38\\chromedriver.exe"
brave_path = "C:\\Program Files (x86)\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"
option = webdriver.ChromeOptions()
option.binary_location = brave_path
browser = webdriver.Chrome(executable_path=driver_path, options=option)
browser.get("https://www.google.es")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57837496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档