SeleniumBase 控制台命令完全指南:sbase 全命令手册(驱动管理、录制生成、Page Object、Selenium Grid)
SeleniumBase 控制台命令完全指南sbase 全命令手册驱动管理、录制生成、Page Object、Selenium Grid【免费下载链接】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 提供了一整套命令行工具Console Scripts通过seleniumbase [COMMAND] [PARAMETERS]简写sbase [COMMAND] [PARAMETERS]即可完成 WebDriver 下载、测试脚手架搭建、用例录制、翻译、Page Object 重构、代理启动与 Selenium Grid 集群管理等一系列高频操作。本文以仓库 seleniumbase/console_scripts/ReadMe.md 为骨架结合 run.py 等源码实现系统讲解每个命令的用法、参数、输出与底层原理读完即可把 SeleniumBase 的命令行工作流直接落地到日常测试开发中。命令入口seleniumbase / sbase / python -m seleniumbaseSeleniumBase 安装后会在环境中注册两个等价的可执行命令。在 setup.py 的entry_points中可以找到它们的定义entry_points{ console_scripts: [ seleniumbase seleniumbase.console_scripts.run:main, sbase seleniumbase.console_scripts.run:main, # Simplified name seleniumbase-mcp mcp_servers.server:main, # Requires [mcp] ], ... }两者都指向 seleniumbase/console_scripts/run.py 中的main()函数sbase只是短别名。此外还可以通过python -m seleniumbase [COMMAND]的方式调用见 seleniumbase/main.py。用法seleniumbase [COMMAND] [PARAMETERS]简写sbase [COMMAND] [PARAMETERS]查看全部命令seleniumbase --help查看单个命令详情sbase help [COMMAND]例如sbase help mkdir运行测试请使用pytest结合 SeleniumBase 插件详见 help_docs/customizing_test_runs.md从 run.py 的main()源码可以看到命令分发逻辑非常简单第一个参数作为命令名其余参数作为命令参数命令名统一转为小写后进入分支处理。不带任何参数时会打印 SeleniumBase Logo、包安装位置、版本号与命令总览对应show_basic_usage()run.py。命令总览COMMANDS: get / install [DRIVER] [OPTIONS] methods (List common Python methods) options (List common pytest options) behave-options (List common behave options) gui / commander [OPTIONAL PATH or TEST FILE] behave-gui (SBase Commander for Behave) caseplans [OPTIONAL PATH or TEST FILE] mkdir [DIRECTORY] [OPTIONS] mkfile [FILE.py] [OPTIONS] mkrec / codegen [FILE.py] [OPTIONS] recorder (Open Recorder Desktop App.) record (If args: mkrec. Else: App.) mkpres [FILE.py] [LANG] mkchart [FILE.py] [LANG] print [FILE] [OPTIONS] translate [SB_FILE.py] [LANG] [ACTION] convert [WEBDRIVER_UNITTEST_FILE.py] extract-objects [SB_FILE.py] inject-objects [SB_FILE.py] [OPTIONS] objectify [SB_FILE.py] [OPTIONS] revert-objects [SB_FILE.py] [OPTIONS] encrypt / obfuscate decrypt / unobfuscate proxy (Start a basic proxy server) download server (Get Selenium Grid JAR file) grid-hub [start|stop] [OPTIONS] grid-node [start|stop] --hub[HOST/IP]这些命令可归纳为六类驱动与浏览器管理get/install、信息查询methods/options/behave-options、测试工程搭建mkdir/mkfile/mkrec/recorder/codegen、代码转换与重构translate/convert/print/objectify 系列、安全工具encrypt/decrypt以及基础设施proxy/download server/grid-hub/grid-node下面逐一深入。驱动与浏览器二进制管理get / installWebDriver 是浏览器自动化的前提。get与install完全等价负责把驱动下载到seleniumbase/drivers/目录源码位于 seleniumbase/console_scripts/sb_install.py。sbase get [DRIVER] [OPTIONS] sbase install [DRIVER] [OPTIONS]常用示例sbase get chromedriver sbase get geckodriver sbase get edgedriver sbase get chromedriver 149 sbase get chromedriver 149.0.7827.155 sbase get chromedriver stable sbase get chromedriver beta sbase get chromedriver -p sbase get chromium sbase get chromium --revision1639046 sbase get cft 149 sbase get chs支持的目标WebDriverchromedriverChrome 自动化必需、geckodriverFirefox 自动化必需、edgedriverEdge 自动化必需、uc_driverundetected-chromedriver浏览器二进制cftChrome for Testing 可执行文件、chsChrome-Headless-Shell 二进制、chromium基础 Chromium 二进制从 sb_install.py 的模块文档可以看到驱动下载后统一存放于seleniumbase/drivers/其中各浏览器驱动的子目录为chromium_drivers、chs_drivers、cft_drivers等见仓库 seleniumbase/drivers 目录结构。参数说明NUM: 指定驱动版本号可以是主版本整数如 149或完整版本号如 149.0.7827.155。 若不指定驱动版本将自动匹配本机已安装的浏览器版本。 -p / --path: 同时把驱动复制到 /usr/local/bin方便加入系统 PATH。 --revision: 指定要下载的 Chromium revision如 1639046不指定则下载最新版。源码层面还有一个值得注意的细节run.py在分发get/install命令时做了下载容错——首次失败会等待 3 秒重试再次失败等待 5 秒后第三次尝试run.py同时支持--proxy参数透传下载走代理时使用proxy_helper.validate_proxy_string()校验代理串格式。信息查询methods / options / behave-options三个查询命令帮助开发者快速回忆 API 与参数无需翻文档。sbase methodssbase methods输出 SeleniumBase 常用 Python 方法清单例如节选自 run.py 的show_methods()self.goto(url) 导航浏览器到指定 URL self.type(selector, text) 向输入框填充文本 self.click(selector) 点击指定元素 self.click_link(link_text) 点击包含文本的链接 self.wait_for_element(selector) 等待元素可见 self.assert_element(selector) 断言元素可见 self.assert_text(text, selector) 断言元素内包含文本 self.assert_no_404_errors() 断言页面无死链 self.assert_no_js_errors() 断言无 JavaScript 错误 ...这些方法的完整实现位于 seleniumbase/fixtures/base_case.py方法速查可参考 help_docs/method_summary.md。sbase optionssbase options输出使用 SeleniumBase 时可用的 pytest 命令行选项来自show_options()run.py。完整列表如下--browserBROWSER (The web browser to use. Default is chrome) --edge / --firefox / --safari (Shortcut for browser selection.) --headless (Run tests headlessly. Default mode on Linux OS.) --demo (Slow down and visually see test actions as they occur.) --slow (Slow down the automation. Faster than using Demo Mode.) --rs / --reuse-session (Reuse browser session between tests.) --crumbs (Clear all cookies between tests reusing a session.) --maximize (Start tests with the web browser window maximized.) --dashboard (Enable SeleniumBases Dashboard at dashboard.html) --incognito (Enable Chromiums Incognito mode.) --guest (Enable Chromiums Guest Mode.) --dark (Enable Chromiums Dark Mode.) --uc (Use undetected-chromedriver to evade detection.) -mMARKER (Run tests with the specified pytest marker.) -nNUM (Multithread the tests using that many threads.) -v (Verbose mode. Print the full names of each test run.) --htmlreport.html (Create a detailed pytest-html report.) --collect-only / --co (Only show discovered tests. No run.) --co -q (Only show full names of discovered tests. No run.) -x (Stop running tests after the first failure is reached.) --pdb (Enter the Post Mortem Debug Mode after any test fails.) --trace (Enter Debug Mode immediately after starting any test.) | Debug Mode Commands help / h: List all commands. | | n: Next line of method. s: Step through. c: Continue. | | return / r: Run until method returns. j: Jump to line. | | where / w: Show stack spot. u: Up stack. d: Down stack. | | longlist / ll: See code. dir(): List namespace objects. | --help / -h (Display list of all available pytest options.) --final-debug (Enter Final Debug Mode after each test ends.) --recorder / --rec (Save browser actions as Python scripts.) --rec-sb-mgr (Save Recorder actions as SB() context manager.) --rec-sb-cdp (Save Recorder actions as Pure CDP Mode sb_cdp.) --rec-behave / --rec-gherkin (Save actions as Gherkin code.) --rec-print (Display recorded scripts when they are created.) --save-screenshot (Save a screenshot at the end of each test.) --archive-logs (Archive old log files instead of deleting them.) --check-js (Check for JavaScript errors after page loads.) --start-pageURL (The browser start page when tests begin.) --agentSTRING (Modify the web browsers User-Agent string.) --mobile (Use Chromiums mobile device emulator during tests.) --metricsSTRING (Set mobile CSSWidth,CSSHeight,PixelRatio.) --ad-block (Block some types of display ads after page loads.) --settings-fileFILE (Override default SeleniumBase settings.) --envENV (Set the test env. Access with self.env in tests.) --dataDATA (Extra test data. Access with self.data in tests.) --disable-csp (Disable the Content Security Policy of websites.) --remote-debug (Sync to Ch-R-Debugger chrome://inspect/#devices) --serverSERVER (The Selenium Grid server/IP used for tests.) --portPORT (The Selenium Grid port used by the test server.) --proxySERVER:PORT (Connect to a proxy server:port for tests.) --proxyUSER:PASSSERVER:PORT (Use authenticated proxy server.)几个高频选项的实战解读--demo/--slowDemo 模式会放慢并可视化每一步操作高亮点击的元素--slow是比 Demo Mode 更快的减速模式。Demo Mode 的详细配置见 help_docs/demo_mode.md。--uc启用 undetected-chromedriver 规避机器人检测底层实现见 seleniumbase/undetected使用场景与限制见 help_docs/uc_mode.md。-nNUMpytest-xdist 多线程并发直接决定并行度。--recorder / --rec把浏览器操作录制为 Python 脚本录制原理见 help_docs/recorder_mode.md。--envENV/--dataDATA注入运行时环境变量与数据测试内通过self.env、self.data读取。完整选项列表可通过pytest --help查看。sbase behave-optionssbase behave-options输出使用 SeleniumBase 时的 BehaveBDD命令行选项来自show_behave_options()run.py。Behave 模式下选项统一以-D前缀传入-D browserBROWSER (The web browser to use. Default is chrome) -D headless (Run tests headlessly. Default mode on Linux OS.) -D demo (Slow down and visually see test actions as they occur.) -D slow (Slow down the automation. Faster than using Demo Mode.) -D reuse-session / -D rs (Reuse browser session between tests.) -D crumbs (Clear all cookies between tests reusing a session.) -D maximize (Start tests with the web browser window maximized.) -D dashboard (Enable SeleniumBases Dashboard at dashboard.html) -D incognito (Enable Chromiums Incognito Mode.) -D guest (Enable Chromiums Guest Mode.) -D dark (Enable Chromiums Dark Mode.) -D uc (Use undetected-chromedriver to evade detection.) --no-snippets / -q (Quiet mode. Dont print snippets.) --dry-run / -d (Dry run. Only show discovered tests.) --stop (Stop running tests after the first failure is reached.) -D pdb (Enter the Post Mortem Debug Mode after any test fails.) | Debug Mode Commands help / h: List all commands. | | n: Next line of method. s: Step through. c: Continue. | | return / r: Run until method returns. j: Jump to line. | | where / w: Show stack spot. u: Up stack. d: Down stack. | | longlist / ll: See code. dir(): List namespace objects. | -D recorder (Record browser actions to generate test scripts.) -D rec-print (Display recorded scripts when they are created.) -D save-screenshot (Save a screenshot at the end of each test.) -D archive-logs (Archive old log files instead of deleting them.) -D check-js (Check for JavaScript errors after page loads.) -D start-pageURL (The browser start page when tests begin.) -D agentSTRING (Modify the web browsers User-Agent string.) -D mobile (Use Chromiums mobile device emulator during tests.) -D metricsSTRING (Set mobile CSSWidth,CSSHeight,PixelRatio.) -D ad-block (Block some types of display ads after page loads.) -D settings-fileFILE (Override default SeleniumBase settings.) -D envENV (Set the test env. Access with self.env in tests.) -D dataDATA (Extra test data. Access with self.data in tests.) -D disable-csp (Disable the Content Security Policy of websites.) -D remote-debug (Sync to Ch-R-Debugger chrome://inspect/#devices) -D serverSERVER (The Selenium Grid server/IP used for tests.) -D portPORT (The Selenium Grid port used by the test server.) -D proxySERVER:PORT (Connect to a proxy server:port for tests.) -D proxyUSER:PASSSERVER:PORT (Use authenticated proxy server.)可见 pytest 与 Behave 两套选项语义完全对齐只是前缀不同--xxx与-D xxx。Behave 集成与 BDD 脚手架见仓库 examples/behave_bdd 与 integrations/behave。完整选项通过behave --help查看。可视化测试管理gui / commander、behave-gui、caseplansgui / commanderSeleniumBase Commandersbase gui [OPTIONAL PATH or TEST FILE] sbase commander [OPTIONAL PATH or TEST FILE]不带参数启动图形界面也可直接传入测试文件或目录进行预筛选例如sbase gui sbase gui -k agent sbase gui -m marker2 sbase gui test_suite.py sbase gui offline_examples/Commander 会把你选择的选项组装成真实的 pytest 命令来运行测试。从 sb_commander.py 源码可以看到其命令拼接逻辑根据界面勾选动态追加--edge/--firefox/--safari、--rs/--rcs/--crumbs、-n2..8多线程、--demo、--mobile、--dashboard、--htmlreport.html、--headless等参数在 Linux 非 headless 环境还会自动追加--gui。Commander 的完整功能说明见 help_docs/commander.md。behave-guiBehave 版 Commandersbase behave-gui [OPTIONAL PATH or TEST FILE] sbase gui-behave [OPTIONAL PATH or TEST FILE]示例sbase behave-gui sbase behave-gui -icalculator sbase behave-gui features/ sbase behave-gui features/calculator.feature-icalculator用于按名称过滤 Feature。此命令启动面向 Behave 的图形化运行器可以指定 Feature 文件或 features 目录对应源码 sb_behave_gui.py详见 help_docs/behave_gui.md。caseplans用例计划生成器sbase caseplans [OPTIONAL PATH or TEST FILE]示例sbase caseplans sbase caseplans -k agent sbase caseplans -m marker2 sbase caseplans test_suite.py sbase caseplans offline_examples/为测试生成可读的用例计划文档每个测试方法的步骤说明对应源码 sb_caseplans.py。仓库 examples/case_plans 中已有多份生成好的案例例如 test_demo_site.DemoSiteTests.test_demo_site.md可直观了解输出效果使用说明见 help_docs/case_plans.md。项目脚手架mkdir 与 mkfilesbase mkdir一键生成测试工程目录sbase mkdir [DIRECTORY] [OPTIONS]示例sbase mkdir ui_tests选项-b / --basic (Only config files. No tests added.) --gha (Include GitHub Actions YML with defaults.)默认输出完整工程模板ui_tests/ ├── __init__.py ├── my_first_test.py ├── parameterized_test.py ├── pytest.ini ├── requirements.txt ├── setup.cfg ├── test_demo_site.py └── boilerplates/ ├── __init__.py ├── base_test_case.py ├── boilerplate_test.py ├── classic_obj_test.py ├── page_objects.py ├── sb_fixture_test.py └── samples/ ├── __init__.py ├── google_objects.py ├── google_test.py ├── sb_swag_test.py └── swag_labs_test.py使用-b / --basic时只生成配置不包含示例测试ui_tests/ ├── __init__.py ├── pytest.ini ├── requirements.txt └── setup.cfg使用--gha时额外生成 GitHub Actions 工作流ui_tests/ └── .github └── workflows/ └── python-package.yml源码细节sb_mkdir.py目录名必须至少 2 个字符、不能含/或\、不能以-开头且目标目录已存在时会直接报错生成的requirements.txt会自动写入当前安装的 SeleniumBase 版本约束如seleniumbase4.x.x。生成的脚手架对应仓库 examples/boilerplates 中的同构模板。sbase mkfile生成测试文件样板sbase mkfile [FILE.py] [OPTIONS]示例sbase mkfile new_test.py选项--uc (UC Mode boilerplate using SB context manager) -b / --basic (Basic boilerplate / single-line test) -r / --rec (Adds Pdb breakpoint for Recorder Mode) --urlURL (Makes the test start on a specific page)语言选项生成对应语言的测试代码--en / --English | --zh / --Chinese --nl / --Dutch | --fr / --French --it / --Italian | --ja / --Japanese --ko / --Korean | --pt / --Portuguese --ru / --Russian | --es / --Spanish语法格式选项--bc / --basecase (BaseCase class inheritance) --pf / --pytest-fixture (sb pytest fixture) --cf / --class-fixture (class sb pytest fixture) --cm / --context-manager (SB context manager) --dc / --driver-context (DriverContext manager) --dm / --driver-manager (Driver manager)输出说明创建一个新的 SBase 测试文件样板文件已存在时报错。默认使用英文 BaseCase 继承格式样板中包含open、type、click、assert_element、assert_text等常用方法调用部分源码注释中亦写作goto见 run.py--basic样板只含open一个方法只有 BaseCase 格式支持语言选项与 Recorder 模式UC Mode 固定使用英文 SB() 上下文管理器格式。这六种语法格式对应 SeleniumBase 支持的全部测试编写范式每种范式的真实示例分别散落在仓库中BaseCase 继承见 examples/my_first_test.pypytest fixture 见 examples/test_sb_fixture.pycontext manager 见 examples/raw_sb.pyDriverContext 见 examples/raw_driver_context.pyDriver Manager 见 examples/raw_driver_manager.py。录制与代码生成mkrec / codegen / record / recorderSeleniumBase Recorder 可以边操作浏览器边把动作实时转录为 Python 测试代码。sbase mkrec [FILE.py] [OPTIONS] sbase codegen [FILE.py] [OPTIONS]mkrec与codegen完全等价record则是一个智能别名——带参数时等同mkrec不带参数时启动 Recorder 桌面应用分发逻辑见 run.py。示例sbase mkrec new_test.py sbase mkrec new_test.py --urlseleniumbase.io sbase codegen new_test.py sbase codegen new_test.py --urlwikipedia.org选项--urlURL (Sets the initial start page URL.) --edge (Use Edge browser instead of Chrome.) --gui / --headed (Use headed mode on Linux.) --uc / --undetected (Use undetectable mode.) --ee (Use SHIFT ESC to end the recording.) --overwrite (Overwrite file when it exists.) --behave (Also output Behave/Gherkin files.)输出使用 Recorder 创建新的 SeleniumBase 测试文件已存在时报错源码见 sb_mkrec.py。若指定--behave还会额外生成 Behave/Gherkin 格式的 Feature 文件可直接配合 BDD 流程使用。recorderRecorder 桌面应用sbase recorder [OPTIONS]选项--uc / --undetected (Use undetectable mode.) --behave (Also output Behave/Gherkin files.)输出启动 SeleniumBase Recorder 桌面应用实现见 sb_recorder.py桌面壳 examples/desktop_apps/recorder.py。录制的完整工作流与快捷键见 help_docs/recorder_mode.md。演示与图表mkpres / mkchartsbase mkpres生成演示文稿sbase mkpres [FILE.py] [LANG]示例sbase mkpres new_presentation.py --en语言选项与其他命令一致--en/--zh/--nl/--fr/--it/--ja/--ko/--pt/--ru/--es。输出创建一个含 3 张示例幻灯片的演示文稿文件已存在时报错默认英文、serif主题、slide切换效果可作为演示框架的起始样板。SeleniumBase 演示文稿 API 的真实用例见 examples/presenter核心实现位于 seleniumbase/core/presentation_utils.py源码可确认其在 seleniumbase/core 目录下。sbase mkchart生成图表演示sbase mkchart [FILE.py] [LANG]示例sbase mkchart new_chart.py --en输出创建一个新的 SeleniumBase 图表演示文稿文件已存在时报错默认英文、sky主题、slide切换效果。图表相关示例见 examples/chart_maker如 test_line_chart.py、pie_charts.py。源码辅助工具print / translate / convertsbase print带语法高亮打印文件sbase print [FILE] [OPTIONS]选项-n为每行添加行号。输出以语法高亮形式打印任意文件内容实现见 sb_print.py。sbase translate测试多语言互译sbase translate [SB_FILE.py] [LANGUAGE] [ACTION]语言选项--en / --English | --zh / --Chinese --nl / --Dutch | --fr / --French --it / --Italian | --ja / --Japanese --ko / --Korean | --pt / --Portuguese --ru / --Russian | --es / --Spanish动作必须指定一个-p / --print (Print translation output to the screen) -o / --overwrite (Overwrite the file being translated) -c / --copy (Copy the translation to a new .py file)附加选项-n使用 Print 动作时显示行号。输出把 SeleniumBase Python 测试文件翻译成指定语言方法调用与import行会被自动替换。-p可以与另外任一动作组合使用-c/--copy时新文件名 原名 _ 两位语言代码例如把test_1.py翻译成日语会生成test_1_ja.py。实现见 seleniumbase/translate/translator.py各语言词典在 seleniumbase/translate 目录chinese.py、japanese.py 等翻译后的真实示例见 examples/translations如 chinese_test_1.py语言机制说明见 help_docs/translations.md。sbase convertSelenium IDE 脚本迁移sbase convert [WEBDRIVER_UNITTEST_FILE.py]输出把 Selenium IDE 导出的 WebDriver unittest 文件转换为 SeleniumBase 文件新文件名追加_SB后缀原始文件保持不变同时支持 Katalon Recorder 导出的 Selenium 脚本。实现位于 seleniumbase/utilities/selenium_ideconvert_ide.py更完整的迁移方法论见 examples/migration含 protractor、raw_selenium 到 SeleniumBase 的迁移示例。Page Object 四件套extract-objects / inject-objects / objectify / revert-objects这组命令围绕Page Object 模式工作核心文件是测试同目录下的page_objects.py实现集中在 sb_objectify.py。extract-objects提取选择器sbase extract-objects [SB_FILE.py]根据 SeleniumBase Python 文件中出现的选择器自动创建 Page Object并把对象定义保存到同目录的page_objects.py。对应仓库 examples/boilerplates/page_objects.py 展示的即这类对象文件的标准形态。inject-objects注入对象引用sbase inject-objects [SB_FILE.py] [OPTIONS]选项-c / --comments把对象选择器以注释形式附加到对应行。读取page_objects.py中的对象定义将文件中匹配的选择器替换为对象变量名。objectify一步到位sbase objectify [SB_FILE.py] [OPTIONS]选项-c / --comments附加选择器注释。输出一个选择器被替换为变量名的新版本文件等价于先extract-objects再inject-objects的合并结果用于把存量脚本一键改造为 Page Object 风格。revert-objects反向还原sbase revert-objects [SB_FILE.py] [OPTIONS]选项-c / --comments保留每行已有注释。撤销objectify或inject-objects的改动把对象变量名换回page_objects.py中存储的原始选择器方便回退或对照审查。安全工具encrypt / obfuscate 与 decrypt / unobfuscatesbase encrypt / sbase obfuscate sbase decrypt / sbase unobfuscateencrypt/obfuscate运行密码加密/混淆工具交互式输入密码decrypt/unobfuscate运行对应的解密/反混淆工具输入加密后的密码文本。两者互为逆操作源码分别在 seleniumbase/common/obfuscate.py 与 seleniumbase/common/unobfuscate.py。典型用途是把测试代码中的敏感口令做混淆存储、运行前解密避免明文写死在仓库里。网络与分布式测试proxy、download server、grid-hub、grid-nodesbase proxy快速代理服务器sbase proxy [OPTIONS]选项--hostnameHOSTNAME (Set hostname) (Default: 127.0.0.1) --portPORT (Set port) (Default: 8899) --help / -h (Display available proxy options.)输出在本机启动一个基础代理服务器默认地址127.0.0.1:8899。从 run.py 源码可见其实现方式确保环境已安装proxy.py库版本约束定义于 seleniumbase/fixtures/constants.py 的ProxyPy.VER然后以proxy 参数子进程方式启动。sbase download server获取 Grid 服务端sbase download server下载 Selenium ServerGridJAR 文件——自建 Selenium Grid 时的必需件实现见 seleniumbase/utilities/selenium_grid/download_selenium_server.pyforce_downloadTrue。sbase grid-hubGrid 中心sbase grid-hub [start|stop|restart] [OPTIONS]选项-v / --verbose (Increases verbosity of logging output.) --timeoutTIMEOUT (Close idle browser windows after TIMEOUT seconds.)Hub 是 Selenium Grid 的调度中心允许把测试分发到多台机器并行执行从而缩短整套用例的耗时。默认闲置超时 230 秒源码show_grid_hub_usage()中注明run.py--timeout0可关闭超时。可执行 start/restart/stop实现见 seleniumbase/utilities/selenium_grid/grid_hub.py。sbase grid-nodeGrid 工作节点sbase grid-node [start|stop|restart] [OPTIONS]选项--hubHUB_IP (Grid Hub IP Address. Default: 127.0.0.1) -v / --verbose (Increases verbosity of logging output.)Node 是 Grid 的工作机器向 Hub 注册并承接测试执行。示例sbase grid-node start --hub127.0.0.1。实现见 seleniumbase/utilities/selenium_grid/grid_node.py。完整的 Grid 自建流程与运维脚本如 register-grid-node.sh、start-grid-hub.sh都在 seleniumbase/utilities/selenium_grid 目录下。从源码理解命令分发架构所有命令最终都汇入 seleniumbase/console_scripts/run.py 的main()函数run.py。其分发模式清晰且一致命令名归一化command command.lower()因此SBASE、Sbase等写法同样有效别名机制get install、gui commander、gui-behave behave-gui、mkrec codegen、record带参 mkrec、encrypt obfuscate、decrypt unobfuscate、caseplans case-plans case_plans、extract-objects extract_objects等参数缺失兜底命令缺少必要参数如mkdir无目录名时自动打印该命令的专属帮助页而不是静默失败帮助路由sbase help [COMMAND]走 run.py 的二级路由逐命令输出帮助sbase help无子命令输出全部命令的详细帮助错误提示未知命令会高亮显示INVALID COMMAND: xxx 后回到基础用法页。各命令脚本sb_install.py、sb_mkdir.py、sb_mkfile.py、sb_mkrec.py、sb_recorder.py、sb_commander.py、sb_behave_gui.py、sb_caseplans.py、sb_mkpres.py、sb_mkchart.py、sb_objectify.py、sb_print.py与run.py同处 seleniumbase/console_scripts 目录如需二次开发自定义命令参照其中任一模块的结构即可快速接入。小结seleniumbase/sbase命令集覆盖了浏览器自动化测试从环境准备get/install到工程搭建mkdir/mkfile、用例生成mkrec/recorder、代码重构objectify系列、translate、convert、测试执行管理commander/gui/behave-gui/caseplans以及基础设施proxy、Selenium Grid 三件套的完整链路。熟练使用这套命令配合pytest运行测试选项速查sbase options即可把 SeleniumBase 的日常开发效率提升到新的层次。需要更细粒度说明时随时可用sbase help [COMMAND]在本地查阅。【免费下载链接】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),仅供参考