seleniumbase/SeleniumBase

Browser automation, web scraping, and testing. CDP Mode provides a Stealthy Chromium instance that bypasses bot-detection systems. Includes an MCP server.

解决的问题

SeleniumBase 是一个旨在简化网络爬取、抓取和端到端(E2E)测试的一体化浏览器自动化框架。它通过提供更直观的 API、集成 pytest 等测试运行器,以及绕过经常阻止自动化脚本的机器人检测系统的高级功能,解决了原生 Selenium 的复杂性。

工作原理

它基于 Selenium/WebDriver API 构建,但增加了一层便捷的高层方法。它具有几种专门模式:

  • CDP 模式: 使用 Chrome DevTools Protocol 来绕过基于 Chromium 的浏览器中的机器人检测。
  • UC 模式 (Undetected-Chromium): 专门设计用于避免被 Cloudflare 等服务检测。
  • Stealthy Playwright 模式: 将 CDP 模式的隐身功能扩展到 Playwright 库。

该框架自动处理元素的可见性和可交互性,检测选择器类型(CSS 与 XPath),并包含一个内置的驱动程序管理器,以自动处理浏览器驱动程序版本。

适用人群

  • QA 工程师: 用于使用 pytest 创建可靠、快速且易于使用的 E2E UI 测试。
  • 网络爬虫开发者: 用于从采用积极机器人检测的网站中提取数据。
  • 自动化开发人员: 适用于需要 Python Chromium 自动化综合工具集的人员。

亮点

  • 绕过机器人检测: 专门模式(CDP 和 UC)用于导航阻止自动化的网站。
  • 集成测试: 原生支持 pytest,并配有用于结构化测试的专用 BaseCase 类。
  • 简化的 API: 组合操作(例如,type() 在一次调用中处理等待、清除和输入)。
  • 验证码解决: 包含 sb.solve_captcha() 以处理无法自动绕过的挑战。
  • 多浏览器支持: 兼容 Google Chrome、Chromium、Edge 和 Brave。

相关

  • 项目
  • 项目
  • 项目
  • 项目