
配置 SeleniumBase 以支持 Brave 浏览器
SeleniumBase 框架默认支持 Chrome 和 Firefox 等主流浏览器。要使用 Brave 浏览器,需要进行一些额外的配置。以下步骤将指导您完成配置过程。
1. 升级 SeleniumBase
首先,确保您使用的 SeleniumBase 版本在 4.21.6 或更高版本。较低版本可能不支持直接指定 Brave 浏览器的二进制文件路径。使用 pip 升级 SeleniumBase:
pip install -U seleniumbase
2. 指定 Brave 浏览器二进制文件路径
SeleniumBase 提供了 binary_location 参数,允许您指定 Brave 浏览器的可执行文件路径。该参数可以传递给 Driver() 或 SB() 管理器。
2.1 在 macOS 上指定 Brave 浏览器路径
在 macOS 系统上,Brave 浏览器的可执行文件通常位于 Applications 目录下。以下是如何在 SeleniumBase 中指定 Brave 浏览器路径的示例:
from seleniumbase import Driver
brave_path = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
driver = Driver(browser="chrome", uc=True, binary_location=brave_path)
driver.get("https://www.example.com")
driver.quit()2.2 在 Linux 上指定 Brave 浏览器路径
在 Linux 系统上,Brave 浏览器的可执行文件通常位于 /usr/bin/ 目录下。以下是如何在 SeleniumBase 中指定 Brave 浏览器路径的示例:
from seleniumbase import Driver
brave_path = "/usr/bin/brave-browser"
driver = Driver(browser="chrome", uc=True, binary_location=brave_path)
driver.get("https://www.example.com")
driver.quit()2.3 在 Windows 上指定 Brave 浏览器路径
在 Windows 系统上,Brave 浏览器的可执行文件通常位于 C:\Program Files\BraveSoftware\Brave-Browser\Application\ 目录下。以下是如何在 SeleniumBase 中指定 Brave 浏览器路径的示例:
from seleniumbase import Driver
brave_path = r"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe"
driver = Driver(browser="chrome", uc=True, binary_location=brave_path)
driver.get("https://www.example.com")
driver.quit()注意:
- 请确保您提供的 brave_path 是 Brave 浏览器的可执行文件的完整路径。
- 即使您指定了 Brave 浏览器的路径,browser 参数仍然应该设置为 "chrome"。SeleniumBase 会使用 ChromeDriver 与 Brave 浏览器进行交互。
3. 解决 User-Agent 问题 (如果需要)
某些网站可能会检测到 Selenium 驱动的浏览器,并阻止访问。这通常是因为 User-Agent 字符串与普通浏览器不同。在大多数情况下,使用 UC Mode (undetected chrome) 默认选项并设置更新后的二进制文件位置就足够了。
如果仍然遇到 User-Agent 相关的问题,您可以尝试手动设置 User-Agent。SeleniumBase 提供了 agent 参数,允许您自定义 User-Agent 字符串。
from seleniumbase import Driver
brave_path = "/usr/bin/brave-browser"
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" # 替换为您需要的 User-Agent
driver = Driver(browser="chrome", uc=True, binary_location=brave_path, agent=user_agent)
driver.get("https://www.example.com")
driver.quit()注意:
- 请根据您的需求选择合适的 User-Agent 字符串。
- 您可以使用在线工具(例如 whatismyheader.com)来查看您的浏览器当前使用的 User-Agent 字符串。
4. 示例:使用 pytest 运行测试
以下是一个使用 pytest 运行 SeleniumBase 测试,并指定 Brave 浏览器路径的示例:
# basic_test.py
from seleniumbase import BaseCase
BaseCase.main(__name__, __file__)
class MyTestSuite(BaseCase):
def test_basic(self):
self.open("https://www.example.com")
self.assert_title("Example Domain")运行测试:
pytest basic_test.py --browser=chrome --uc --binary-location="/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
总结
通过以上步骤,您应该能够成功配置 SeleniumBase 以驱动 Brave 浏览器。请记住,需要升级 SeleniumBase 到最新版本,并正确指定 Brave 浏览器的可执行文件路径。如果遇到 User-Agent 相关的问题,可以尝试手动设置 User-Agent 字符串。
希望本文档能够帮助您在使用 SeleniumBase 框架时,更好地利用 Brave 浏览器的特性,提高自动化测试和网页抓取的效率。











