如何将 Brave 网络浏览器与 python、selenium 和 chromedriver 一起使用?
How to use Brave web browser with python, selenium and chromedriver?
我从 Google 的 Chrome 切换到 Brave web browser,但很难让它像 Chrome 那样与 Brave 一起工作。 Brave 是基于 chromium 的,所以我猜应该不会那么难。我确保我的 Brave 和 Chrome 驱动程序在同一个版本上,
~/some/path $ chromedriver --version
ChromeDriver 76.0.3809.126 (d80a294506b4c9d18015e755cee48f953ddc3f2f-refs/branch-heads/3809@{#1024})
我的chromedriver也在/user/bin
,
~/path $ cd /usr/bin/
/usr/bin $ ls | grep chromedriver
chromedriver
为了检查 Brave 版本,我得到:Version 0.68.132 Chromium: 76.0.3809.132 (Official Build) (64-bit)
然后我运行这段代码,
from selenium import webdriver
driver = webdriver.Chrome(executable_path='/usr/bin/brave-browser')
driver.get("http://www.python.org")
driver.close()
这会打开一个 Brave window 但随后并没有获取驱动程序指向的页面,而是抛出了一个异常,
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
我终于成功了:
试试这个 python 脚本 (python3.7)
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")
干杯。
这也适用于 windows 10 和 Brave 浏览器。我下载了 Chromedriver 并将其放在 Brave.exe.
的文件夹中
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")
executable_path
键用于传递 二进制文件的绝对路径,即 chromedriver 可执行文件。
要启动 Brave 浏览器会话,您还必须通过 [=31] 传递 brave-browser 二进制文件的绝对位置=]binary_location
ChromeOptions
.
实例的参数
所以有效的代码块将是:
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")
参考资料
您可以在以下位置找到一些相关的详细讨论:
- DeprecationWarning: use options instead of chrome_options error using ChromeDriver and Chrome through Selenium on Windows 10 system
- How to initiate Brave browser using Selenium and Python on Windows
- DeprecationWarning: use options instead of chrome_options error using Brave Browser With Python Selenium and Chromedriver on Windows
上面的解决方案给了我一些错误。此代码删除可执行路径和选项错误。
Chromedriver 在 pycharm 文件夹中。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
driver_path = "C:/Users/johnm/PycharmProjects/chromedriver.exe"
brave_path = "C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe"
s=Service(driver_path)
option = webdriver.ChromeOptions()
option.binary_location = brave_path
browser = webdriver.Chrome(service=s, options=option)
browser.get("https://www.google.es")
我从 Google 的 Chrome 切换到 Brave web browser,但很难让它像 Chrome 那样与 Brave 一起工作。 Brave 是基于 chromium 的,所以我猜应该不会那么难。我确保我的 Brave 和 Chrome 驱动程序在同一个版本上,
~/some/path $ chromedriver --version
ChromeDriver 76.0.3809.126 (d80a294506b4c9d18015e755cee48f953ddc3f2f-refs/branch-heads/3809@{#1024})
我的chromedriver也在/user/bin
,
~/path $ cd /usr/bin/
/usr/bin $ ls | grep chromedriver
chromedriver
为了检查 Brave 版本,我得到:Version 0.68.132 Chromium: 76.0.3809.132 (Official Build) (64-bit)
然后我运行这段代码,
from selenium import webdriver
driver = webdriver.Chrome(executable_path='/usr/bin/brave-browser')
driver.get("http://www.python.org")
driver.close()
这会打开一个 Brave window 但随后并没有获取驱动程序指向的页面,而是抛出了一个异常,
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
我终于成功了:
试试这个 python 脚本 (python3.7)
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")
干杯。
这也适用于 windows 10 和 Brave 浏览器。我下载了 Chromedriver 并将其放在 Brave.exe.
的文件夹中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")
executable_path
键用于传递
要启动 Brave 浏览器会话,您还必须通过 [=31] 传递 brave-browser 二进制文件的绝对位置=]binary_location
ChromeOptions
.
所以有效的代码块将是:
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")
参考资料
您可以在以下位置找到一些相关的详细讨论:
- DeprecationWarning: use options instead of chrome_options error using ChromeDriver and Chrome through Selenium on Windows 10 system
- How to initiate Brave browser using Selenium and Python on Windows
- DeprecationWarning: use options instead of chrome_options error using Brave Browser With Python Selenium and Chromedriver on Windows
上面的解决方案给了我一些错误。此代码删除可执行路径和选项错误。 Chromedriver 在 pycharm 文件夹中。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
driver_path = "C:/Users/johnm/PycharmProjects/chromedriver.exe"
brave_path = "C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe"
s=Service(driver_path)
option = webdriver.ChromeOptions()
option.binary_location = brave_path
browser = webdriver.Chrome(service=s, options=option)
browser.get("https://www.google.es")