SeleniumBase 快速上手:5 分钟搭建浏览器自动化与反检测测试的完整指南

SeleniumBase 快速上手:5 分钟搭建浏览器自动化与反检测测试的完整指南 SeleniumBase 快速上手5 分钟搭建浏览器自动化与反检测测试的完整指南【免费下载链接】SeleniumBaseAPIs for browser automation, testing, and bypassing bot-detection. Includes CDP Mode: A stealthy configuration for chromium that passes every bot detection test.项目地址: https://gitcode.com/GitHub_Trending/se/SeleniumBaseSeleniumBase 是一个 Python 浏览器自动化框架网页端到端测试、爬虫抓取、绕过反机器人检测bot-detection一套搞定。装好之后你只需几行代码就能驱动真实浏览器完成打开、点击、输入和断言。一句话定位它是什么SeleniumBase 把 Selenium、pytest 和隐身浏览器封装进同一个包给你三类现成的能力你要写端到端测试 →BaseCase自带等待、断言和截图测试代码只剩做什么。你要爬数据或做自动化脚本 →SB上下文管理器几行代码就能跑不用写任何配置。你的脚本总被网站识别成机器人 → CDP Mode 用隐身配置启动 Chromium可通过主流反检测检测站。五分钟上手安装与最小配置 你只需执行一条命令完成安装pip install seleniumbase不需要WebDriver 手动管理——首次运行时它会按浏览器版本自动下载匹配的驱动。零配置即可开跑下面这个文件就是你全部需要的最小配置from seleniumbase import BaseCase BaseCase.main(__name__, __file__) # 允许直接用 python 运行 class LoginTest(BaseCase): def test_login(self): self.goto(https://www.saucedemo.com) self.type(#user-name, standard_user) self.type(#password, secret_sauce\n) # \n 自动提交 self.assert_element(div.inventory_list)运行pytest test_login.py -v或直接python test_login.py看到 PASSED 就算跑通了。注意type()会自动等待元素可见、清空旧内容再输入你不用手写time.sleep。实战从零搭一个电商登录自动化测试以开源演示商城 saucedemo 为例一步步把登录 → 进商品页 → 退出这条流程搭出来。第 1 步打开登录页并填表单。就是上面最小文件里的goto 两次type。跑完后浏览器停在商品列表页assert_element(div.inventory_list)确认你已经登录成功。第 2 步验证页面内容并退出。加几行断言让测试真正有意义self.assert_exact_text(Products, span.title) self.click(button[name*backpack]) self.assert_exact_text(Your Cart, span.title) self.js_click(a#logout_sidebar_link) self.assert_element(div#login_button_container)做完之后这条测试覆盖了登录、加购、看购物车、登出四个状态。仓库里有一份完整成品可以参考examples/test_login.py它就是这个流程的完整版。第 3 步加个演示模式。运行pytest test_login.py --demo_mode每一步操作会在浏览器里高亮并放慢方便给别人演示测试在干什么。第 4 步切换到隐身模式跑登录。如果目标网站有反检测把驱动换成 CDP Mode一种用 Chromium 开发者协议直接启动隐身浏览器的模式其余 API 基本不变from seleniumbase import sb_cdp sb sb_cdp.Chrome() sb.goto(https://seleniumbase.io/simple/login) sb.type(#username, demo_user) sb.type(#password, secret_pass) sb.click(a:contains(Sign in)) sb.assert_exact_text(Welcome!, h1) sb.quit()直接python运行即可登录、断言、关浏览器一气呵成且能顺利通过主流 bot 检测站。更多 CDP 写法见 examples/cdp_mode/。个性化主题与样式框架的行为细节等待时长、窗口大小、无头模式分辨率都集中在一个设置文件里你复制一份再改运行时用--settings指过去即可# custom_settings.py MINI_TIMEOUT 2 # 短等待秒 SMALL_TIMEOUT 7 # 常规等待 LARGE_TIMEOUT 10 # 长等待 HEADLESS_START_WIDTH 1440 # 无头窗口宽度 SCREENSHOT_WITH_BACKGROUND Truepytest test_login.py --settingscustom_settings.py命令行还能临时改外观--user-agent换 UA、--mobile模拟手机、--ad_block屏蔽广告、--start-maximized全屏打开。完整开关清单在 help_docs/customizing_test_runs.md默认值的出处是 examples/custom_settings.py。常见坑与 FAQ⚠️ 新手最容易在这四处卡住驱动下载失败 / 版本对不上。SeleniumBase 会自动匹配驱动网络不通时会报错。解法换网络后手动执行python -m sbase get chromedriver预下载或pip install -U seleniumbase升级到最新版驱动匹配规则会持续更新。提示测试必须在 pytest 下运行。BaseCase的测试文件加一行BaseCase.main(__name__, __file__)就能用python 文件名.py直接跑。元素找不到、测试时过时不过。SeleniumBase 的方法默认会自动等待多数时好时坏是选择器写错了。解法按 F12 在开发者工具里核对 CSS 选择器页面确实慢就加timeout参数或在 custom_settings.py 里调大等待值。网站把你的脚本识别为机器人。普通模式下换 UA 不一定够。解法给 pytest 加--uc开启 UC Mode或直接用上面的sb_cdp.Chrome()两者文档见 help_docs/uc_mode.md 和 help_docs/cdp_mode_methods.md。深入指南与下一步文档入口都放在 help_docs/建议按下面三个方向挑一个继续反检测进阶读 help_docs/cdp_mode_methods.md跑通 examples/cdp_mode/ 里的检测站示例让你的爬虫和测试在严格站点上也能稳定运行。更快写测试用 Recorder 模式help_docs/recorder_mode.md边点网页边生成代码再用 GUI Commanderhelp_docs/commander.md批量管理用例。可视化回归参考 examples/visual_testing/给关键页面截图比对页面一改版测试就变红。控制台命令入口在 sbase/常用方法速查在 help_docs/method_summary.md。把上面 5 分钟的最小测试改成你自己网站的登录页就是下一步。【免费下载链接】SeleniumBaseAPIs for browser automation, testing, and bypassing bot-detection. Includes CDP Mode: A stealthy configuration for chromium that passes every bot detection test.项目地址: https://gitcode.com/GitHub_Trending/se/SeleniumBase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考