seleniumbase 4.41.2__tar.gz → 4.41.4__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.41.2/seleniumbase.egg-info → seleniumbase-4.41.4}/PKG-INFO +8 -7
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/requirements.txt +6 -5
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/browser_launcher.py +8 -2
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/sb_cdp.py +31 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/base_case.py +6 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4/seleniumbase.egg-info}/PKG-INFO +8 -7
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase.egg-info/requires.txt +7 -6
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/setup.py +7 -6
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/.gitignore +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/LICENSE +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/MANIFEST.in +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/README.md +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/install.sh +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/pyproject.toml +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/pytest.ini +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/sbase/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/sbase/__main__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/sbase/steps.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/setup.cfg +0 -0
- {seleniumbase-4.41.2 → seleniumbase-4.41.4}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.41.
|
3
|
+
Version: 4.41.4
|
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
|
@@ -118,18 +118,19 @@ Requires-Dist: iniconfig==2.1.0
|
|
118
118
|
Requires-Dist: pluggy==1.5.0; python_version < "3.9"
|
119
119
|
Requires-Dist: pluggy==1.6.0; python_version >= "3.9"
|
120
120
|
Requires-Dist: pytest==8.3.5; python_version < "3.9"
|
121
|
-
Requires-Dist: pytest==8.4.
|
121
|
+
Requires-Dist: pytest==8.4.2; python_version >= "3.9"
|
122
122
|
Requires-Dist: pytest-html==4.0.2
|
123
123
|
Requires-Dist: pytest-metadata==3.1.1
|
124
124
|
Requires-Dist: pytest-ordering==0.6
|
125
125
|
Requires-Dist: pytest-rerunfailures==14.0; python_version < "3.9"
|
126
|
-
Requires-Dist: pytest-rerunfailures==
|
126
|
+
Requires-Dist: pytest-rerunfailures==16.0.1; python_version >= "3.9"
|
127
127
|
Requires-Dist: pytest-xdist==3.6.1; python_version < "3.9"
|
128
128
|
Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9"
|
129
129
|
Requires-Dist: parameterized==0.9.0
|
130
130
|
Requires-Dist: behave==1.2.6
|
131
|
-
Requires-Dist: soupsieve==2.7
|
132
|
-
Requires-Dist:
|
131
|
+
Requires-Dist: soupsieve==2.7; python_version < "3.9"
|
132
|
+
Requires-Dist: soupsieve~=2.8; python_version >= "3.9"
|
133
|
+
Requires-Dist: beautifulsoup4~=4.13.5
|
133
134
|
Requires-Dist: pyotp==2.9.0
|
134
135
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
135
136
|
Requires-Dist: markdown-it-py==3.0.0; python_version < "3.10"
|
@@ -142,7 +143,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
|
|
142
143
|
Requires-Dist: allure-behave>=2.13.5; extra == "allure"
|
143
144
|
Provides-Extra: coverage
|
144
145
|
Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
|
145
|
-
Requires-Dist: coverage>=7.10.
|
146
|
+
Requires-Dist: coverage>=7.10.6; python_version >= "3.9" and extra == "coverage"
|
146
147
|
Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
|
147
148
|
Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
|
148
149
|
Provides-Extra: flake8
|
@@ -163,7 +164,7 @@ Provides-Extra: pdfminer
|
|
163
164
|
Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
|
164
165
|
Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
|
165
166
|
Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
|
166
|
-
Requires-Dist: cryptography==45.0.
|
167
|
+
Requires-Dist: cryptography==45.0.7; python_version >= "3.9" and extra == "pdfminer"
|
167
168
|
Requires-Dist: cffi==1.17.1; extra == "pdfminer"
|
168
169
|
Requires-Dist: pycparser==2.22; extra == "pdfminer"
|
169
170
|
Provides-Extra: pillow
|
@@ -56,18 +56,19 @@ iniconfig==2.1.0
|
|
56
56
|
pluggy==1.5.0;python_version<"3.9"
|
57
57
|
pluggy==1.6.0;python_version>="3.9"
|
58
58
|
pytest==8.3.5;python_version<"3.9"
|
59
|
-
pytest==8.4.
|
59
|
+
pytest==8.4.2;python_version>="3.9"
|
60
60
|
pytest-html==4.0.2
|
61
61
|
pytest-metadata==3.1.1
|
62
62
|
pytest-ordering==0.6
|
63
63
|
pytest-rerunfailures==14.0;python_version<"3.9"
|
64
|
-
pytest-rerunfailures==
|
64
|
+
pytest-rerunfailures==16.0.1;python_version>="3.9"
|
65
65
|
pytest-xdist==3.6.1;python_version<"3.9"
|
66
66
|
pytest-xdist==3.8.0;python_version>="3.9"
|
67
67
|
parameterized==0.9.0
|
68
68
|
behave==1.2.6
|
69
|
-
soupsieve==2.7
|
70
|
-
|
69
|
+
soupsieve==2.7;python_version<"3.9"
|
70
|
+
soupsieve~=2.8;python_version>="3.9"
|
71
|
+
beautifulsoup4~=4.13.5
|
71
72
|
pyotp==2.9.0
|
72
73
|
python-xlib==0.33;platform_system=="Linux"
|
73
74
|
markdown-it-py==3.0.0;python_version<"3.10"
|
@@ -79,7 +80,7 @@ rich>=14.1.0,<15
|
|
79
80
|
# ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
|
80
81
|
|
81
82
|
coverage>=7.6.1;python_version<"3.9"
|
82
|
-
coverage>=7.10.
|
83
|
+
coverage>=7.10.6;python_version>="3.9"
|
83
84
|
pytest-cov>=5.0.0;python_version<"3.9"
|
84
85
|
pytest-cov>=6.2.1;python_version>="3.9"
|
85
86
|
flake8==5.0.4;python_version<"3.9"
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.41.
|
2
|
+
__version__ = "4.41.4"
|
@@ -808,6 +808,8 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs):
|
|
808
808
|
cdp.get_window_size = CDPM.get_window_size
|
809
809
|
cdp.nested_click = CDPM.nested_click
|
810
810
|
cdp.select_option_by_text = CDPM.select_option_by_text
|
811
|
+
cdp.select_option_by_index = CDPM.select_option_by_index
|
812
|
+
cdp.select_option_by_value = CDPM.select_option_by_value
|
811
813
|
cdp.flash = CDPM.flash
|
812
814
|
cdp.highlight = CDPM.highlight
|
813
815
|
cdp.focus = CDPM.focus
|
@@ -3137,7 +3139,9 @@ def get_driver(
|
|
3137
3139
|
proxy_string, proxy_scheme = proxy_helper.validate_proxy_string(
|
3138
3140
|
proxy_string, keep_scheme=True
|
3139
3141
|
)
|
3140
|
-
if
|
3142
|
+
if proxy_user and not proxy_pass:
|
3143
|
+
proxy_pass = ""
|
3144
|
+
if proxy_string and proxy_user:
|
3141
3145
|
proxy_auth = True
|
3142
3146
|
elif proxy_pac_url:
|
3143
3147
|
username_and_password = None
|
@@ -3164,7 +3168,9 @@ def get_driver(
|
|
3164
3168
|
)
|
3165
3169
|
if not proxy_pac_url.lower().endswith(".pac"):
|
3166
3170
|
raise Exception('The proxy PAC URL must end with ".pac"!')
|
3167
|
-
if
|
3171
|
+
if proxy_user and not proxy_pass:
|
3172
|
+
proxy_pass = ""
|
3173
|
+
if proxy_pac_url and proxy_user:
|
3168
3174
|
proxy_auth = True
|
3169
3175
|
if (
|
3170
3176
|
is_using_uc(undetectable, browser_name)
|
@@ -823,6 +823,37 @@ class CDPMethods():
|
|
823
823
|
% (dropdown_selector, option)
|
824
824
|
)
|
825
825
|
|
826
|
+
def select_option_by_index(self, dropdown_selector, option):
|
827
|
+
element = self.find_element(dropdown_selector)
|
828
|
+
element.scroll_into_view()
|
829
|
+
options = element.query_selector_all("option")
|
830
|
+
count = 0
|
831
|
+
for found_option in options:
|
832
|
+
if count == int(option):
|
833
|
+
found_option.select_option()
|
834
|
+
return
|
835
|
+
count += 1
|
836
|
+
raise Exception(
|
837
|
+
"Unable to find index option {%s} in dropdown {%s}!"
|
838
|
+
% (dropdown_selector, option)
|
839
|
+
)
|
840
|
+
|
841
|
+
def select_option_by_value(self, dropdown_selector, option):
|
842
|
+
element = self.find_element(dropdown_selector)
|
843
|
+
element.scroll_into_view()
|
844
|
+
options = element.query_selector_all("option")
|
845
|
+
for found_option in options:
|
846
|
+
if (
|
847
|
+
"value" in found_option.attrs
|
848
|
+
and str(found_option.attrs["value"]) == str(option)
|
849
|
+
):
|
850
|
+
found_option.select_option()
|
851
|
+
return
|
852
|
+
raise Exception(
|
853
|
+
"Unable to find value option {%s} in dropdown {%s}!"
|
854
|
+
% (dropdown_selector, option)
|
855
|
+
)
|
856
|
+
|
826
857
|
def flash(
|
827
858
|
self,
|
828
859
|
selector, # The CSS Selector to flash
|
@@ -3198,6 +3198,9 @@ class BaseCase(unittest.TestCase):
|
|
3198
3198
|
timeout = settings.SMALL_TIMEOUT
|
3199
3199
|
if self.timeout_multiplier and timeout == settings.SMALL_TIMEOUT:
|
3200
3200
|
timeout = self.__get_new_timeout(timeout)
|
3201
|
+
if self.__is_cdp_swap_needed():
|
3202
|
+
self.cdp.select_option_by_index(dropdown_selector, option)
|
3203
|
+
return
|
3201
3204
|
self.__select_option(
|
3202
3205
|
dropdown_selector,
|
3203
3206
|
option,
|
@@ -3222,6 +3225,9 @@ class BaseCase(unittest.TestCase):
|
|
3222
3225
|
timeout = settings.SMALL_TIMEOUT
|
3223
3226
|
if self.timeout_multiplier and timeout == settings.SMALL_TIMEOUT:
|
3224
3227
|
timeout = self.__get_new_timeout(timeout)
|
3228
|
+
if self.__is_cdp_swap_needed():
|
3229
|
+
self.cdp.select_option_by_value(dropdown_selector, option)
|
3230
|
+
return
|
3225
3231
|
self.__select_option(
|
3226
3232
|
dropdown_selector,
|
3227
3233
|
option,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.41.
|
3
|
+
Version: 4.41.4
|
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
|
@@ -118,18 +118,19 @@ Requires-Dist: iniconfig==2.1.0
|
|
118
118
|
Requires-Dist: pluggy==1.5.0; python_version < "3.9"
|
119
119
|
Requires-Dist: pluggy==1.6.0; python_version >= "3.9"
|
120
120
|
Requires-Dist: pytest==8.3.5; python_version < "3.9"
|
121
|
-
Requires-Dist: pytest==8.4.
|
121
|
+
Requires-Dist: pytest==8.4.2; python_version >= "3.9"
|
122
122
|
Requires-Dist: pytest-html==4.0.2
|
123
123
|
Requires-Dist: pytest-metadata==3.1.1
|
124
124
|
Requires-Dist: pytest-ordering==0.6
|
125
125
|
Requires-Dist: pytest-rerunfailures==14.0; python_version < "3.9"
|
126
|
-
Requires-Dist: pytest-rerunfailures==
|
126
|
+
Requires-Dist: pytest-rerunfailures==16.0.1; python_version >= "3.9"
|
127
127
|
Requires-Dist: pytest-xdist==3.6.1; python_version < "3.9"
|
128
128
|
Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9"
|
129
129
|
Requires-Dist: parameterized==0.9.0
|
130
130
|
Requires-Dist: behave==1.2.6
|
131
|
-
Requires-Dist: soupsieve==2.7
|
132
|
-
Requires-Dist:
|
131
|
+
Requires-Dist: soupsieve==2.7; python_version < "3.9"
|
132
|
+
Requires-Dist: soupsieve~=2.8; python_version >= "3.9"
|
133
|
+
Requires-Dist: beautifulsoup4~=4.13.5
|
133
134
|
Requires-Dist: pyotp==2.9.0
|
134
135
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
135
136
|
Requires-Dist: markdown-it-py==3.0.0; python_version < "3.10"
|
@@ -142,7 +143,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
|
|
142
143
|
Requires-Dist: allure-behave>=2.13.5; extra == "allure"
|
143
144
|
Provides-Extra: coverage
|
144
145
|
Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
|
145
|
-
Requires-Dist: coverage>=7.10.
|
146
|
+
Requires-Dist: coverage>=7.10.6; python_version >= "3.9" and extra == "coverage"
|
146
147
|
Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
|
147
148
|
Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
|
148
149
|
Provides-Extra: flake8
|
@@ -163,7 +164,7 @@ Provides-Extra: pdfminer
|
|
163
164
|
Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
|
164
165
|
Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
|
165
166
|
Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
|
166
|
-
Requires-Dist: cryptography==45.0.
|
167
|
+
Requires-Dist: cryptography==45.0.7; python_version >= "3.9" and extra == "pdfminer"
|
167
168
|
Requires-Dist: cffi==1.17.1; extra == "pdfminer"
|
168
169
|
Requires-Dist: pycparser==2.22; extra == "pdfminer"
|
169
170
|
Provides-Extra: pillow
|
@@ -34,8 +34,7 @@ pytest-metadata==3.1.1
|
|
34
34
|
pytest-ordering==0.6
|
35
35
|
parameterized==0.9.0
|
36
36
|
behave==1.2.6
|
37
|
-
|
38
|
-
beautifulsoup4<4.14,>=4.13.5
|
37
|
+
beautifulsoup4~=4.13.5
|
39
38
|
pyotp==2.9.0
|
40
39
|
mdurl==0.1.2
|
41
40
|
rich<15,>=14.1.0
|
@@ -65,6 +64,7 @@ pluggy==1.5.0
|
|
65
64
|
pytest==8.3.5
|
66
65
|
pytest-rerunfailures==14.0
|
67
66
|
pytest-xdist==3.6.1
|
67
|
+
soupsieve==2.7
|
68
68
|
|
69
69
|
[:python_version >= "3.10"]
|
70
70
|
setuptools>=80.9.0
|
@@ -82,9 +82,10 @@ requests<2.33,>=2.32.5
|
|
82
82
|
trio==0.30.0
|
83
83
|
cssselect==1.3.0
|
84
84
|
pluggy==1.6.0
|
85
|
-
pytest==8.4.
|
86
|
-
pytest-rerunfailures==
|
85
|
+
pytest==8.4.2
|
86
|
+
pytest-rerunfailures==16.0.1
|
87
87
|
pytest-xdist==3.8.0
|
88
|
+
soupsieve~=2.8
|
88
89
|
|
89
90
|
[:python_version >= "3.9" and python_version < "3.10"]
|
90
91
|
selenium==4.32.0
|
@@ -101,7 +102,7 @@ coverage>=7.6.1
|
|
101
102
|
pytest-cov>=5.0.0
|
102
103
|
|
103
104
|
[coverage:python_version >= "3.9"]
|
104
|
-
coverage>=7.10.
|
105
|
+
coverage>=7.10.6
|
105
106
|
pytest-cov>=6.2.1
|
106
107
|
|
107
108
|
[flake8]
|
@@ -139,7 +140,7 @@ cryptography==39.0.2
|
|
139
140
|
|
140
141
|
[pdfminer:python_version >= "3.9"]
|
141
142
|
pdfminer.six==20250506
|
142
|
-
cryptography==45.0.
|
143
|
+
cryptography==45.0.7
|
143
144
|
|
144
145
|
[pillow]
|
145
146
|
|
@@ -204,18 +204,19 @@ setup(
|
|
204
204
|
'pluggy==1.5.0;python_version<"3.9"',
|
205
205
|
'pluggy==1.6.0;python_version>="3.9"',
|
206
206
|
'pytest==8.3.5;python_version<"3.9"',
|
207
|
-
'pytest==8.4.
|
207
|
+
'pytest==8.4.2;python_version>="3.9"',
|
208
208
|
"pytest-html==4.0.2", # Newer ones had issues
|
209
209
|
'pytest-metadata==3.1.1',
|
210
210
|
"pytest-ordering==0.6",
|
211
211
|
'pytest-rerunfailures==14.0;python_version<"3.9"',
|
212
|
-
'pytest-rerunfailures==
|
212
|
+
'pytest-rerunfailures==16.0.1;python_version>="3.9"',
|
213
213
|
'pytest-xdist==3.6.1;python_version<"3.9"',
|
214
214
|
'pytest-xdist==3.8.0;python_version>="3.9"',
|
215
215
|
'parameterized==0.9.0',
|
216
216
|
"behave==1.2.6", # Newer ones had issues
|
217
|
-
'soupsieve==2.7',
|
218
|
-
"
|
217
|
+
'soupsieve==2.7;python_version<"3.9"',
|
218
|
+
'soupsieve~=2.8;python_version>="3.9"',
|
219
|
+
"beautifulsoup4~=4.13.5",
|
219
220
|
'pyotp==2.9.0',
|
220
221
|
'python-xlib==0.33;platform_system=="Linux"',
|
221
222
|
'markdown-it-py==3.0.0;python_version<"3.10"',
|
@@ -236,7 +237,7 @@ setup(
|
|
236
237
|
# Usage: coverage run -m pytest; coverage html; coverage report
|
237
238
|
"coverage": [
|
238
239
|
'coverage>=7.6.1;python_version<"3.9"',
|
239
|
-
'coverage>=7.10.
|
240
|
+
'coverage>=7.10.6;python_version>="3.9"',
|
240
241
|
'pytest-cov>=5.0.0;python_version<"3.9"',
|
241
242
|
'pytest-cov>=6.2.1;python_version>="3.9"',
|
242
243
|
],
|
@@ -269,7 +270,7 @@ setup(
|
|
269
270
|
'pdfminer.six==20250324;python_version<"3.9"',
|
270
271
|
'pdfminer.six==20250506;python_version>="3.9"',
|
271
272
|
'cryptography==39.0.2;python_version<"3.9"',
|
272
|
-
'cryptography==45.0.
|
273
|
+
'cryptography==45.0.7;python_version>="3.9"',
|
273
274
|
'cffi==1.17.1',
|
274
275
|
"pycparser==2.22",
|
275
276
|
],
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/undetected/cdp_driver/connection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
File without changes
|
File without changes
|
{seleniumbase-4.41.2 → seleniumbase-4.41.4}/seleniumbase/utilities/selenium_ide/convert_ide.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|