seleniumbase 4.45.1__tar.gz → 4.45.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/.gitignore +10 -0
- {seleniumbase-4.45.1/seleniumbase.egg-info → seleniumbase-4.45.6}/PKG-INFO +10 -11
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/README.md +7 -8
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/pyproject.toml +1 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/requirements.txt +2 -2
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/behave/behave_sb.py +6 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_install.py +136 -1
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_mkdir.py +6 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_mkrec.py +5 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_recorder.py +2 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/browser_launcher.py +112 -24
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/sb_cdp.py +30 -1
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/base_case.py +10 -49
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/driver_manager.py +11 -4
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/pytest_plugin.py +20 -4
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/sb_manager.py +9 -4
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/selenium_plugin.py +15 -3
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/browser.py +2 -2
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/cdp_util.py +3 -12
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/config.py +62 -2
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/connection.py +12 -12
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/element.py +19 -16
- seleniumbase-4.45.6/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6/seleniumbase.egg-info}/PKG-INFO +10 -11
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase.egg-info/SOURCES.txt +1 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase.egg-info/requires.txt +2 -2
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/setup.py +3 -2
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/LICENSE +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/MANIFEST.in +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/install.sh +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/pytest.ini +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/sbase/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/sbase/__main__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/sbase/steps.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/drivers/atlas_drivers/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/drivers/chs_drivers → seleniumbase-4.45.6/seleniumbase/drivers/chromium_drivers}/__init__.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/drivers/comet_drivers → seleniumbase-4.45.6/seleniumbase/drivers/chs_drivers}/__init__.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/drivers/opera_drivers → seleniumbase-4.45.6/seleniumbase/drivers/comet_drivers}/__init__.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/extensions → seleniumbase-4.45.6/seleniumbase/drivers/opera_drivers}/__init__.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/fixtures → seleniumbase-4.45.6/seleniumbase/extensions}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.45.1/seleniumbase/js_code → seleniumbase-4.45.6/seleniumbase/fixtures}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/masterqa → seleniumbase-4.45.6/seleniumbase/js_code}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/plugins → seleniumbase-4.45.6/seleniumbase/masterqa}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/resources → seleniumbase-4.45.6/seleniumbase/plugins}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/utilities → seleniumbase-4.45.6/seleniumbase/resources}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/utilities/selenium_grid → seleniumbase-4.45.6/seleniumbase/utilities}/__init__.py +0 -0
- {seleniumbase-4.45.1/seleniumbase/utilities/selenium_ide → seleniumbase-4.45.6/seleniumbase/utilities/selenium_grid}/__init__.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/setup.cfg +0 -0
- {seleniumbase-4.45.1 → seleniumbase-4.45.6}/virtualenv_install.sh +0 -0
|
@@ -82,6 +82,16 @@ msedgedriver.exe
|
|
|
82
82
|
operadriver.exe
|
|
83
83
|
uc_driver.exe
|
|
84
84
|
|
|
85
|
+
# Chromium Zip Files
|
|
86
|
+
chrome-mac.zip
|
|
87
|
+
chrome-linux.zip
|
|
88
|
+
chrome-win.zip
|
|
89
|
+
|
|
90
|
+
# Chromium folders
|
|
91
|
+
chrome-mac
|
|
92
|
+
chrome-linux
|
|
93
|
+
chrome-win
|
|
94
|
+
|
|
85
95
|
# Chrome for Testing Zip Files
|
|
86
96
|
chrome-mac-arm64.zip
|
|
87
97
|
chrome-mac-x64.zip
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.45.
|
|
3
|
+
Version: 4.45.6
|
|
4
4
|
Summary: A complete web automation framework for end-to-end testing.
|
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
|
6
6
|
Author: Michael Mintz
|
|
@@ -68,7 +68,7 @@ Requires-Dist: certifi>=2025.11.12
|
|
|
68
68
|
Requires-Dist: exceptiongroup>=1.3.1
|
|
69
69
|
Requires-Dist: websockets>=15.0.1
|
|
70
70
|
Requires-Dist: filelock~=3.19.1; python_version < "3.10"
|
|
71
|
-
Requires-Dist: filelock>=3.20.
|
|
71
|
+
Requires-Dist: filelock>=3.20.1; python_version >= "3.10"
|
|
72
72
|
Requires-Dist: fasteners>=0.20
|
|
73
73
|
Requires-Dist: mycdp>=1.3.2
|
|
74
74
|
Requires-Dist: pynose>=1.5.5
|
|
@@ -122,7 +122,7 @@ Requires-Dist: pytest-rerunfailures==16.1; python_version >= "3.10"
|
|
|
122
122
|
Requires-Dist: pytest-xdist==3.8.0
|
|
123
123
|
Requires-Dist: parameterized==0.9.0
|
|
124
124
|
Requires-Dist: behave==1.2.6
|
|
125
|
-
Requires-Dist: soupsieve~=2.8
|
|
125
|
+
Requires-Dist: soupsieve~=2.8.1
|
|
126
126
|
Requires-Dist: beautifulsoup4~=4.14.3
|
|
127
127
|
Requires-Dist: pyotp==2.9.0
|
|
128
128
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
|
@@ -218,22 +218,21 @@ Dynamic: summary
|
|
|
218
218
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/features_list.md">🏰 Features</a> |
|
|
219
219
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/customizing_test_runs.md">🎛️ Options</a> |
|
|
220
220
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/ReadMe.md">📚 Examples</a> |
|
|
221
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md"
|
|
221
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md">🪄 Scripts</a> |
|
|
222
222
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/mobile_testing.md">📱 Mobile</a>
|
|
223
223
|
<br />
|
|
224
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/method_summary.md">📘 API</a> |
|
|
225
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md"> 🔠
|
|
224
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/method_summary.md">📘 The API</a> |
|
|
225
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md"> 🔠 SyntaxFormats</a> |
|
|
226
226
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/recorder_mode.md">🔴 Recorder</a> |
|
|
227
227
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/example_logs/ReadMe.md">📊 Dashboard</a> |
|
|
228
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/locale_codes.md">🗾 Locale</a>
|
|
229
|
-
<a href="https://seleniumbase.io/devices/?url=seleniumbase.com">💻 Farm</a>
|
|
228
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/locale_codes.md">🗾 Locale</a>
|
|
230
229
|
<br />
|
|
231
230
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/commander.md">🎖️ GUI</a> |
|
|
232
231
|
<a href="https://seleniumbase.io/demo_page">📰 TestPage</a> |
|
|
233
232
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md">👤 UC Mode</a> |
|
|
234
233
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md">🐙 CDP Mode</a> |
|
|
235
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/chart_maker/ReadMe.md">📶 Charts</a>
|
|
236
|
-
<a href="https://
|
|
234
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/chart_maker/ReadMe.md">📶 Charts</a> |
|
|
235
|
+
<a href="https://seleniumbase.io/devices/?url=seleniumbase.com">🖥️ Farm</a>
|
|
237
236
|
<br />
|
|
238
237
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/how_it_works.md">👁️ How</a> |
|
|
239
238
|
<a href="https://github.com/seleniumbase/SeleniumBase/tree/master/examples/migration/raw_selenium">🚝 Migration</a> |
|
|
@@ -242,7 +241,7 @@ Dynamic: summary
|
|
|
242
241
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/tour_examples/ReadMe.md">🚎 Tours</a>
|
|
243
242
|
<br />
|
|
244
243
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/integrations/github/workflows/ReadMe.md">🤖 CI/CD</a> |
|
|
245
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md"
|
|
244
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">❇️ JSMgr</a> |
|
|
246
245
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/translations.md">🌏 Translator</a> |
|
|
247
246
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/presenter/ReadMe.md">🎞️ Presenter</a> |
|
|
248
247
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/visual_testing/ReadMe.md">🖼️ Visual</a> |
|
|
@@ -21,22 +21,21 @@
|
|
|
21
21
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/features_list.md">🏰 Features</a> |
|
|
22
22
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/customizing_test_runs.md">🎛️ Options</a> |
|
|
23
23
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/ReadMe.md">📚 Examples</a> |
|
|
24
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md"
|
|
24
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md">🪄 Scripts</a> |
|
|
25
25
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/mobile_testing.md">📱 Mobile</a>
|
|
26
26
|
<br />
|
|
27
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/method_summary.md">📘 API</a> |
|
|
28
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md"> 🔠
|
|
27
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/method_summary.md">📘 The API</a> |
|
|
28
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/syntax_formats.md"> 🔠 SyntaxFormats</a> |
|
|
29
29
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/recorder_mode.md">🔴 Recorder</a> |
|
|
30
30
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/example_logs/ReadMe.md">📊 Dashboard</a> |
|
|
31
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/locale_codes.md">🗾 Locale</a>
|
|
32
|
-
<a href="https://seleniumbase.io/devices/?url=seleniumbase.com">💻 Farm</a>
|
|
31
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/locale_codes.md">🗾 Locale</a>
|
|
33
32
|
<br />
|
|
34
33
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/commander.md">🎖️ GUI</a> |
|
|
35
34
|
<a href="https://seleniumbase.io/demo_page">📰 TestPage</a> |
|
|
36
35
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md">👤 UC Mode</a> |
|
|
37
36
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md">🐙 CDP Mode</a> |
|
|
38
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/chart_maker/ReadMe.md">📶 Charts</a>
|
|
39
|
-
<a href="https://
|
|
37
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/chart_maker/ReadMe.md">📶 Charts</a> |
|
|
38
|
+
<a href="https://seleniumbase.io/devices/?url=seleniumbase.com">🖥️ Farm</a>
|
|
40
39
|
<br />
|
|
41
40
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/how_it_works.md">👁️ How</a> |
|
|
42
41
|
<a href="https://github.com/seleniumbase/SeleniumBase/tree/master/examples/migration/raw_selenium">🚝 Migration</a> |
|
|
@@ -45,7 +44,7 @@
|
|
|
45
44
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/tour_examples/ReadMe.md">🚎 Tours</a>
|
|
46
45
|
<br />
|
|
47
46
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/integrations/github/workflows/ReadMe.md">🤖 CI/CD</a> |
|
|
48
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md"
|
|
47
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">❇️ JSMgr</a> |
|
|
49
48
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/translations.md">🌏 Translator</a> |
|
|
50
49
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/presenter/ReadMe.md">🎞️ Presenter</a> |
|
|
51
50
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/visual_testing/ReadMe.md">🖼️ Visual</a> |
|
|
@@ -47,6 +47,7 @@ packages = [
|
|
|
47
47
|
"seleniumbase.drivers.brave_drivers",
|
|
48
48
|
"seleniumbase.drivers.comet_drivers",
|
|
49
49
|
"seleniumbase.drivers.atlas_drivers",
|
|
50
|
+
"seleniumbase.drivers.chromium_drivers",
|
|
50
51
|
"seleniumbase.extensions",
|
|
51
52
|
"seleniumbase.fixtures",
|
|
52
53
|
"seleniumbase.js_code",
|
|
@@ -8,7 +8,7 @@ certifi>=2025.11.12
|
|
|
8
8
|
exceptiongroup>=1.3.1
|
|
9
9
|
websockets>=15.0.1
|
|
10
10
|
filelock~=3.19.1;python_version<"3.10"
|
|
11
|
-
filelock>=3.20.
|
|
11
|
+
filelock>=3.20.1;python_version>="3.10"
|
|
12
12
|
fasteners>=0.20
|
|
13
13
|
mycdp>=1.3.2
|
|
14
14
|
pynose>=1.5.5
|
|
@@ -62,7 +62,7 @@ pytest-rerunfailures==16.1;python_version>="3.10"
|
|
|
62
62
|
pytest-xdist==3.8.0
|
|
63
63
|
parameterized==0.9.0
|
|
64
64
|
behave==1.2.6
|
|
65
|
-
soupsieve~=2.8
|
|
65
|
+
soupsieve~=2.8.1
|
|
66
66
|
beautifulsoup4~=4.14.3
|
|
67
67
|
pyotp==2.9.0
|
|
68
68
|
python-xlib==0.33;platform_system=="Linux"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.45.
|
|
2
|
+
__version__ = "4.45.6"
|
|
@@ -494,6 +494,12 @@ def get_configured_sb(context):
|
|
|
494
494
|
sb.binary_location = binary_location
|
|
495
495
|
sb_config.binary_location = binary_location
|
|
496
496
|
continue
|
|
497
|
+
# Handle: -D use-chromium
|
|
498
|
+
if low_key in ["use-chromium"] and not sb_config.binary_location:
|
|
499
|
+
binary_location = "_chromium_"
|
|
500
|
+
sb.binary_location = binary_location
|
|
501
|
+
sb_config.binary_location = binary_location
|
|
502
|
+
continue
|
|
497
503
|
# Handle: -D cft
|
|
498
504
|
if low_key in ["cft"] and not sb_config.binary_location:
|
|
499
505
|
binary_location = "cft"
|
|
@@ -19,6 +19,7 @@ Examples:
|
|
|
19
19
|
sbase get chromedriver stable
|
|
20
20
|
sbase get chromedriver beta
|
|
21
21
|
sbase get chromedriver -p
|
|
22
|
+
sbase get chromium
|
|
22
23
|
sbase get cft 131
|
|
23
24
|
sbase get chs
|
|
24
25
|
Output:
|
|
@@ -46,16 +47,21 @@ from seleniumbase import config as sb_config
|
|
|
46
47
|
from seleniumbase import drivers # webdriver storage folder for SeleniumBase
|
|
47
48
|
from seleniumbase.drivers import cft_drivers # chrome-for-testing
|
|
48
49
|
from seleniumbase.drivers import chs_drivers # chrome-headless-shell
|
|
50
|
+
from seleniumbase.drivers import chromium_drivers # base chromium
|
|
49
51
|
|
|
50
52
|
urllib3.disable_warnings()
|
|
51
53
|
ARCH = platform.architecture()[0]
|
|
52
54
|
IS_ARM_MAC = shared_utils.is_arm_mac()
|
|
53
55
|
IS_MAC = shared_utils.is_mac()
|
|
56
|
+
IS_ARM_LINUX = shared_utils.is_arm_linux()
|
|
54
57
|
IS_LINUX = shared_utils.is_linux()
|
|
55
58
|
IS_WINDOWS = shared_utils.is_windows()
|
|
56
59
|
DRIVER_DIR = os.path.dirname(os.path.realpath(drivers.__file__))
|
|
57
60
|
DRIVER_DIR_CFT = os.path.dirname(os.path.realpath(cft_drivers.__file__))
|
|
58
61
|
DRIVER_DIR_CHS = os.path.dirname(os.path.realpath(chs_drivers.__file__))
|
|
62
|
+
DRIVER_DIR_CHROMIUM = os.path.dirname(
|
|
63
|
+
os.path.realpath(chromium_drivers.__file__)
|
|
64
|
+
)
|
|
59
65
|
LOCAL_PATH = "/usr/local/bin/" # On Mac and Linux systems
|
|
60
66
|
DEFAULT_CHROMEDRIVER_VERSION = "114.0.5735.90" # (If can't find LATEST_STABLE)
|
|
61
67
|
DEFAULT_GECKODRIVER_VERSION = "v0.36.0"
|
|
@@ -203,6 +209,59 @@ def get_cft_latest_version_from_milestone(milestone):
|
|
|
203
209
|
return url_request.json()["milestones"][milestone]["version"]
|
|
204
210
|
|
|
205
211
|
|
|
212
|
+
def get_chromium_channel_revision(platform_code, channel):
|
|
213
|
+
"""Snapshots only exist for revisions where a build occurred.
|
|
214
|
+
Therefore, not all found revisions will lead to snapshots."""
|
|
215
|
+
platform_key = None
|
|
216
|
+
if platform_code in ["Mac_Arm", "Mac"]:
|
|
217
|
+
platform_key = "Mac"
|
|
218
|
+
elif platform_code in ["Linux_x64"]:
|
|
219
|
+
platform_key = "Linux"
|
|
220
|
+
elif platform_code in ["Win_x64"]:
|
|
221
|
+
platform_key = "Windows"
|
|
222
|
+
elif platform_code in ["Win"]:
|
|
223
|
+
platform_key = "Win32"
|
|
224
|
+
channel_key = None
|
|
225
|
+
if channel.lower() == "stable":
|
|
226
|
+
channel_key = "Stable"
|
|
227
|
+
elif channel.lower() == "beta":
|
|
228
|
+
channel_key = "Beta"
|
|
229
|
+
elif channel.lower() == "dev":
|
|
230
|
+
channel_key = "Dev"
|
|
231
|
+
elif channel.lower() == "canary":
|
|
232
|
+
channel_key = "Canary"
|
|
233
|
+
base_url = "https://chromiumdash.appspot.com/fetch_releases"
|
|
234
|
+
url = f"{base_url}?channel={channel_key}&platform={platform_key}&num=1"
|
|
235
|
+
url_request = requests_get_with_retry(url)
|
|
236
|
+
data = None
|
|
237
|
+
if url_request.ok:
|
|
238
|
+
data = url_request.text
|
|
239
|
+
else:
|
|
240
|
+
raise Exception("Could not determine Chromium revision!")
|
|
241
|
+
if data:
|
|
242
|
+
try:
|
|
243
|
+
import ast
|
|
244
|
+
|
|
245
|
+
result = ast.literal_eval(data)
|
|
246
|
+
revision = result[0]["chromium_main_branch_position"]
|
|
247
|
+
return str(revision)
|
|
248
|
+
except Exception:
|
|
249
|
+
return get_latest_chromedriver_version(platform_code)
|
|
250
|
+
else:
|
|
251
|
+
return get_latest_chromedriver_version(platform_code)
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
def get_chromium_latest_revision(platform_code):
|
|
255
|
+
base_url = "https://storage.googleapis.com/chromium-browser-snapshots"
|
|
256
|
+
url = f"{base_url}/{platform_code}/LAST_CHANGE"
|
|
257
|
+
url_request = requests_get_with_retry(url)
|
|
258
|
+
if url_request.ok:
|
|
259
|
+
latest_revision = url_request.text
|
|
260
|
+
else:
|
|
261
|
+
raise Exception("Could not determine latest Chromium revision!")
|
|
262
|
+
return latest_revision
|
|
263
|
+
|
|
264
|
+
|
|
206
265
|
def get_latest_chromedriver_version(channel="Stable"):
|
|
207
266
|
try:
|
|
208
267
|
if getattr(sb_config, "cft_lkgv_json", None):
|
|
@@ -274,6 +333,11 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
274
333
|
elif override.startswith("iedriver "):
|
|
275
334
|
extra = override.split("iedriver ")[1]
|
|
276
335
|
sys.argv = ["seleniumbase", "get", "iedriver", extra]
|
|
336
|
+
elif override == "chromium":
|
|
337
|
+
sys.argv = ["seleniumbase", "get", "chromium"]
|
|
338
|
+
elif override.startswith("chromium "):
|
|
339
|
+
extra = override.split("chromium ")[1]
|
|
340
|
+
sys.argv = ["seleniumbase", "get", "chromium", extra]
|
|
277
341
|
elif override == "cft":
|
|
278
342
|
sys.argv = ["seleniumbase", "get", "cft"]
|
|
279
343
|
elif override.startswith("cft "):
|
|
@@ -316,6 +380,8 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
316
380
|
downloads_folder = DRIVER_DIR_CFT
|
|
317
381
|
elif override == "chs" or name == "chs":
|
|
318
382
|
downloads_folder = DRIVER_DIR_CHS
|
|
383
|
+
elif override == "chromium":
|
|
384
|
+
downloads_folder = DRIVER_DIR_CHROMIUM
|
|
319
385
|
expected_contents = None
|
|
320
386
|
platform_code = None
|
|
321
387
|
copy_to_path = False
|
|
@@ -643,6 +709,31 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
643
709
|
"https://storage.googleapis.com/chrome-for-testing-public/"
|
|
644
710
|
"%s/%s/%s" % (use_version, platform_code, file_name)
|
|
645
711
|
)
|
|
712
|
+
elif name == "chromium":
|
|
713
|
+
if IS_MAC:
|
|
714
|
+
if IS_ARM_MAC:
|
|
715
|
+
platform_code = "Mac_Arm"
|
|
716
|
+
else:
|
|
717
|
+
platform_code = "Mac"
|
|
718
|
+
file_name = "chrome-mac.zip"
|
|
719
|
+
elif IS_LINUX:
|
|
720
|
+
platform_code = "Linux_x64"
|
|
721
|
+
file_name = "chrome-linux.zip"
|
|
722
|
+
elif IS_WINDOWS:
|
|
723
|
+
if "64" in ARCH:
|
|
724
|
+
platform_code = "Win_x64"
|
|
725
|
+
else:
|
|
726
|
+
platform_code = "Win"
|
|
727
|
+
file_name = "chrome-win.zip"
|
|
728
|
+
revision = get_chromium_latest_revision(platform_code)
|
|
729
|
+
msg = c2 + "Chromium revision to download" + cr
|
|
730
|
+
p_version = c3 + revision + cr
|
|
731
|
+
log_d("\n*** %s = %s" % (msg, p_version))
|
|
732
|
+
download_url = (
|
|
733
|
+
"https://storage.googleapis.com/chromium-browser-snapshots/"
|
|
734
|
+
"%s/%s/%s" % (platform_code, revision, file_name)
|
|
735
|
+
)
|
|
736
|
+
downloads_folder = DRIVER_DIR_CHROMIUM
|
|
646
737
|
elif name == "chrome-headless-shell" or name == "chs":
|
|
647
738
|
set_version = None
|
|
648
739
|
found_version = None
|
|
@@ -1003,12 +1094,12 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
1003
1094
|
remote_file = requests_get_with_retry(download_url)
|
|
1004
1095
|
with open(file_path, "wb") as file:
|
|
1005
1096
|
file.write(remote_file.content)
|
|
1006
|
-
log_d("%sDownload Complete!%s\n" % (c1, cr))
|
|
1007
1097
|
|
|
1008
1098
|
if file_name.endswith(".zip"):
|
|
1009
1099
|
zip_file_path = file_path
|
|
1010
1100
|
zip_ref = zipfile.ZipFile(zip_file_path, "r")
|
|
1011
1101
|
contents = zip_ref.namelist()
|
|
1102
|
+
log_d("%sDownload Complete!%s\n" % (c1, cr))
|
|
1012
1103
|
if (
|
|
1013
1104
|
len(contents) >= 1
|
|
1014
1105
|
and name in ["chromedriver", "uc_driver", "geckodriver"]
|
|
@@ -1249,6 +1340,48 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
1249
1340
|
"Chrome for Testing was saved inside:\n%s%s\n%s\n"
|
|
1250
1341
|
% (pr_base_path, pr_sep, pr_folder_name)
|
|
1251
1342
|
)
|
|
1343
|
+
elif name == "chromium":
|
|
1344
|
+
# Zip file is valid. Proceed.
|
|
1345
|
+
driver_path = None
|
|
1346
|
+
driver_file = None
|
|
1347
|
+
base_path = os.sep.join(zip_file_path.split(os.sep)[:-1])
|
|
1348
|
+
folder_name = contents[0].split("/")[0]
|
|
1349
|
+
folder_path = os.path.join(base_path, folder_name)
|
|
1350
|
+
if IS_MAC or IS_LINUX:
|
|
1351
|
+
if (
|
|
1352
|
+
"chromium" in folder_path
|
|
1353
|
+
and "drivers" in folder_path
|
|
1354
|
+
and os.path.exists(folder_path)
|
|
1355
|
+
):
|
|
1356
|
+
shutil.rmtree(folder_path)
|
|
1357
|
+
subprocess.run(
|
|
1358
|
+
["unzip", zip_file_path, "-d", downloads_folder]
|
|
1359
|
+
)
|
|
1360
|
+
elif IS_WINDOWS:
|
|
1361
|
+
subprocess.run(
|
|
1362
|
+
[
|
|
1363
|
+
"powershell",
|
|
1364
|
+
"Expand-Archive",
|
|
1365
|
+
"-Path",
|
|
1366
|
+
zip_file_path,
|
|
1367
|
+
"-DestinationPath",
|
|
1368
|
+
downloads_folder,
|
|
1369
|
+
"-Force",
|
|
1370
|
+
]
|
|
1371
|
+
)
|
|
1372
|
+
else:
|
|
1373
|
+
zip_ref.extractall(downloads_folder)
|
|
1374
|
+
zip_ref.close()
|
|
1375
|
+
with suppress(Exception):
|
|
1376
|
+
os.remove(zip_file_path)
|
|
1377
|
+
log_d("%sUnzip Complete!%s\n" % (c2, cr))
|
|
1378
|
+
pr_base_path = c3 + base_path + cr
|
|
1379
|
+
pr_sep = c3 + os.sep + cr
|
|
1380
|
+
pr_folder_name = c3 + folder_name + cr
|
|
1381
|
+
log_d(
|
|
1382
|
+
"Chromium was saved inside:\n%s%s\n%s\n"
|
|
1383
|
+
% (pr_base_path, pr_sep, pr_folder_name)
|
|
1384
|
+
)
|
|
1252
1385
|
elif name == "chrome-headless-shell" or name == "chs":
|
|
1253
1386
|
# Zip file is valid. Proceed.
|
|
1254
1387
|
driver_path = None
|
|
@@ -1300,6 +1433,7 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
1300
1433
|
tar = tarfile.open(file_path)
|
|
1301
1434
|
contents = tar.getnames()
|
|
1302
1435
|
if len(contents) == 1:
|
|
1436
|
+
log_d("%sDownload Complete!%s\n" % (c1, cr))
|
|
1303
1437
|
for f_name in contents:
|
|
1304
1438
|
# Remove existing version if exists
|
|
1305
1439
|
new_file = os.path.join(downloads_folder, str(f_name))
|
|
@@ -1337,6 +1471,7 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
|
1337
1471
|
else:
|
|
1338
1472
|
# Not a .zip file or a .tar.gz file. Just a direct download.
|
|
1339
1473
|
if "Driver" in file_name or "driver" in file_name:
|
|
1474
|
+
log_d("%sDownload Complete!%s\n" % (c1, cr))
|
|
1340
1475
|
log_d("Making [%s] executable ..." % file_name)
|
|
1341
1476
|
make_executable(file_path)
|
|
1342
1477
|
log_d("%s[%s] is now ready for use!%s" % (c1, file_name, cr))
|
|
@@ -246,6 +246,12 @@ def main():
|
|
|
246
246
|
data.append("msedgedriver.exe")
|
|
247
247
|
data.append("operadriver.exe")
|
|
248
248
|
data.append("uc_driver.exe")
|
|
249
|
+
data.append("chrome-mac.zip")
|
|
250
|
+
data.append("chrome-linux.zip")
|
|
251
|
+
data.append("chrome-win.zip")
|
|
252
|
+
data.append("chrome-mac")
|
|
253
|
+
data.append("chrome-linux")
|
|
254
|
+
data.append("chrome-win")
|
|
249
255
|
data.append("chrome-mac-arm64.zip")
|
|
250
256
|
data.append("chrome-mac-x64.zip")
|
|
251
257
|
data.append("chrome-linux64.zip")
|
|
@@ -88,6 +88,7 @@ def main():
|
|
|
88
88
|
use_brave = False
|
|
89
89
|
use_comet = False
|
|
90
90
|
use_atlas = False
|
|
91
|
+
use_chromium = False
|
|
91
92
|
use_uc = False
|
|
92
93
|
esc_end = False
|
|
93
94
|
start_page = None
|
|
@@ -150,6 +151,8 @@ def main():
|
|
|
150
151
|
use_comet = True
|
|
151
152
|
elif option.lower() == "--atlas":
|
|
152
153
|
use_atlas = True
|
|
154
|
+
elif option.lower() == "--use-chromium":
|
|
155
|
+
use_chromium = True
|
|
153
156
|
elif option.lower() == "--ee":
|
|
154
157
|
esc_end = True
|
|
155
158
|
elif option.lower() in ("--gui", "--headed"):
|
|
@@ -295,6 +298,8 @@ def main():
|
|
|
295
298
|
run_cmd += " --comet"
|
|
296
299
|
elif use_atlas:
|
|
297
300
|
run_cmd += " --atlas"
|
|
301
|
+
elif use_chromium:
|
|
302
|
+
run_cmd += " --use-chromium"
|
|
298
303
|
if force_gui:
|
|
299
304
|
run_cmd += " --gui"
|
|
300
305
|
if use_uc:
|
|
@@ -152,6 +152,8 @@ def do_recording(file_name, url, overwrite_enabled, use_chrome, window):
|
|
|
152
152
|
command += " --comet"
|
|
153
153
|
elif "--atlas" in command_args:
|
|
154
154
|
command += " --atlas"
|
|
155
|
+
elif "--use-chromium" in command_args:
|
|
156
|
+
command += " --use-chromium"
|
|
155
157
|
if (
|
|
156
158
|
"--uc" in command_args
|
|
157
159
|
or "--cdp" in command_args
|