seleniumbase 4.41.1__tar.gz → 4.41.3__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.1/seleniumbase.egg-info → seleniumbase-4.41.3}/PKG-INFO +8 -6
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/requirements.txt +7 -5
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/browser_launcher.py +7 -2
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/sb_cdp.py +146 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3/seleniumbase.egg-info}/PKG-INFO +8 -6
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase.egg-info/requires.txt +7 -5
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/setup.py +7 -5
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/.gitignore +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/LICENSE +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/MANIFEST.in +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/README.md +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/install.sh +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/pyproject.toml +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/pytest.ini +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/sbase/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/sbase/__main__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/sbase/steps.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/base_case.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/setup.cfg +0 -0
- {seleniumbase-4.41.1 → seleniumbase-4.41.3}/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.3
|
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
|
@@ -77,7 +77,7 @@ Requires-Dist: fasteners>=0.20
|
|
77
77
|
Requires-Dist: mycdp>=1.2.0
|
78
78
|
Requires-Dist: pynose>=1.5.4
|
79
79
|
Requires-Dist: platformdirs>=4.3.6; python_version < "3.9"
|
80
|
-
Requires-Dist: platformdirs>=4.
|
80
|
+
Requires-Dist: platformdirs>=4.4.0; python_version >= "3.9"
|
81
81
|
Requires-Dist: typing-extensions>=4.13.2
|
82
82
|
Requires-Dist: sbvirtualdisplay>=1.4.0
|
83
83
|
Requires-Dist: MarkupSafe==2.1.5; python_version < "3.9"
|
@@ -97,7 +97,8 @@ Requires-Dist: chardet==5.2.0
|
|
97
97
|
Requires-Dist: charset-normalizer<4,>=3.4.3
|
98
98
|
Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
|
99
99
|
Requires-Dist: urllib3<2.6.0,>=1.26.20; python_version >= "3.10"
|
100
|
-
Requires-Dist: requests==2.32.4
|
100
|
+
Requires-Dist: requests==2.32.4; python_version < "3.9"
|
101
|
+
Requires-Dist: requests<2.33,>=2.32.5; python_version >= "3.9"
|
101
102
|
Requires-Dist: sniffio==1.3.1
|
102
103
|
Requires-Dist: h11==0.16.0
|
103
104
|
Requires-Dist: outcome==1.3.0.post0
|
@@ -127,8 +128,9 @@ Requires-Dist: pytest-xdist==3.6.1; python_version < "3.9"
|
|
127
128
|
Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9"
|
128
129
|
Requires-Dist: parameterized==0.9.0
|
129
130
|
Requires-Dist: behave==1.2.6
|
130
|
-
Requires-Dist: soupsieve==2.7
|
131
|
-
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
|
132
134
|
Requires-Dist: pyotp==2.9.0
|
133
135
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
134
136
|
Requires-Dist: markdown-it-py==3.0.0; python_version < "3.10"
|
@@ -141,7 +143,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
|
|
141
143
|
Requires-Dist: allure-behave>=2.13.5; extra == "allure"
|
142
144
|
Provides-Extra: coverage
|
143
145
|
Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
|
144
|
-
Requires-Dist: coverage>=7.10.
|
146
|
+
Requires-Dist: coverage>=7.10.5; python_version >= "3.9" and extra == "coverage"
|
145
147
|
Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
|
146
148
|
Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
|
147
149
|
Provides-Extra: flake8
|
@@ -15,7 +15,7 @@ fasteners>=0.20
|
|
15
15
|
mycdp>=1.2.0
|
16
16
|
pynose>=1.5.4
|
17
17
|
platformdirs>=4.3.6;python_version<"3.9"
|
18
|
-
platformdirs>=4.
|
18
|
+
platformdirs>=4.4.0;python_version>="3.9"
|
19
19
|
typing-extensions>=4.13.2
|
20
20
|
sbvirtualdisplay>=1.4.0
|
21
21
|
MarkupSafe==2.1.5;python_version<"3.9"
|
@@ -35,7 +35,8 @@ chardet==5.2.0
|
|
35
35
|
charset-normalizer>=3.4.3,<4
|
36
36
|
urllib3>=1.26.20,<2;python_version<"3.10"
|
37
37
|
urllib3>=1.26.20,<2.6.0;python_version>="3.10"
|
38
|
-
requests==2.32.4
|
38
|
+
requests==2.32.4;python_version<"3.9"
|
39
|
+
requests>=2.32.5,<2.33;python_version>="3.9"
|
39
40
|
sniffio==1.3.1
|
40
41
|
h11==0.16.0
|
41
42
|
outcome==1.3.0.post0
|
@@ -65,8 +66,9 @@ pytest-xdist==3.6.1;python_version<"3.9"
|
|
65
66
|
pytest-xdist==3.8.0;python_version>="3.9"
|
66
67
|
parameterized==0.9.0
|
67
68
|
behave==1.2.6
|
68
|
-
soupsieve==2.7
|
69
|
-
|
69
|
+
soupsieve==2.7;python_version<"3.9"
|
70
|
+
soupsieve~=2.8;python_version>="3.9"
|
71
|
+
beautifulsoup4~=4.13.5
|
70
72
|
pyotp==2.9.0
|
71
73
|
python-xlib==0.33;platform_system=="Linux"
|
72
74
|
markdown-it-py==3.0.0;python_version<"3.10"
|
@@ -78,7 +80,7 @@ rich>=14.1.0,<15
|
|
78
80
|
# ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
|
79
81
|
|
80
82
|
coverage>=7.6.1;python_version<"3.9"
|
81
|
-
coverage>=7.10.
|
83
|
+
coverage>=7.10.5;python_version>="3.9"
|
82
84
|
pytest-cov>=5.0.0;python_version<"3.9"
|
83
85
|
pytest-cov>=6.2.1;python_version>="3.9"
|
84
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.3"
|
@@ -762,6 +762,7 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs):
|
|
762
762
|
cdp.gui_write = CDPM.gui_write
|
763
763
|
cdp.gui_click_x_y = CDPM.gui_click_x_y
|
764
764
|
cdp.gui_click_element = CDPM.gui_click_element
|
765
|
+
cdp.gui_click_captcha = CDPM.gui_click_captcha
|
765
766
|
cdp.gui_drag_drop_points = CDPM.gui_drag_drop_points
|
766
767
|
cdp.gui_drag_and_drop = CDPM.gui_drag_and_drop
|
767
768
|
cdp.gui_click_and_hold = CDPM.gui_click_and_hold
|
@@ -3136,7 +3137,9 @@ def get_driver(
|
|
3136
3137
|
proxy_string, proxy_scheme = proxy_helper.validate_proxy_string(
|
3137
3138
|
proxy_string, keep_scheme=True
|
3138
3139
|
)
|
3139
|
-
if
|
3140
|
+
if proxy_user and not proxy_pass:
|
3141
|
+
proxy_pass = ""
|
3142
|
+
if proxy_string and proxy_user:
|
3140
3143
|
proxy_auth = True
|
3141
3144
|
elif proxy_pac_url:
|
3142
3145
|
username_and_password = None
|
@@ -3163,7 +3166,9 @@ def get_driver(
|
|
3163
3166
|
)
|
3164
3167
|
if not proxy_pac_url.lower().endswith(".pac"):
|
3165
3168
|
raise Exception('The proxy PAC URL must end with ".pac"!')
|
3166
|
-
if
|
3169
|
+
if proxy_user and not proxy_pass:
|
3170
|
+
proxy_pass = ""
|
3171
|
+
if proxy_pac_url and proxy_user:
|
3167
3172
|
proxy_auth = True
|
3168
3173
|
if (
|
3169
3174
|
is_using_uc(undetectable, browser_name)
|
@@ -1629,6 +1629,152 @@ class CDPMethods():
|
|
1629
1629
|
self.__slow_mode_pause_if_set()
|
1630
1630
|
self.loop.run_until_complete(self.page.wait())
|
1631
1631
|
|
1632
|
+
def _on_a_cf_turnstile_page(self):
|
1633
|
+
source = self.get_page_source()
|
1634
|
+
if (
|
1635
|
+
'data-callback="onCaptchaSuccess"' in source
|
1636
|
+
or "/challenge-platform/scripts/" in source
|
1637
|
+
or 'id="challenge-widget-' in source
|
1638
|
+
or "cf-turnstile-" in source
|
1639
|
+
):
|
1640
|
+
return True
|
1641
|
+
return False
|
1642
|
+
|
1643
|
+
def gui_click_captcha(self):
|
1644
|
+
if not self._on_a_cf_turnstile_page():
|
1645
|
+
return
|
1646
|
+
selector = None
|
1647
|
+
if (
|
1648
|
+
self.is_element_present('[name*="cf-turnstile-"]')
|
1649
|
+
and self.is_element_present("#challenge-form div > div")
|
1650
|
+
):
|
1651
|
+
selector = "#challenge-form div > div"
|
1652
|
+
elif (
|
1653
|
+
self.is_element_present('[name*="cf-turnstile-"]')
|
1654
|
+
and self.is_element_present(
|
1655
|
+
'[style="display: grid;"] div div'
|
1656
|
+
)
|
1657
|
+
):
|
1658
|
+
selector = '[style="display: grid;"] div div'
|
1659
|
+
elif (
|
1660
|
+
self.is_element_present('[name*="cf-turnstile-"]')
|
1661
|
+
and self.is_element_present("[class*=spacer] + div div")
|
1662
|
+
):
|
1663
|
+
selector = '[class*=spacer] + div div'
|
1664
|
+
elif (
|
1665
|
+
self.is_element_present('[name*="cf-turnstile-"]')
|
1666
|
+
and self.is_element_present("div.spacer div")
|
1667
|
+
):
|
1668
|
+
selector = "div.spacer div"
|
1669
|
+
elif (
|
1670
|
+
self.is_element_present('script[src*="challenges.c"]')
|
1671
|
+
and self.is_element_present(
|
1672
|
+
'[data-testid*="challenge-"] div'
|
1673
|
+
)
|
1674
|
+
):
|
1675
|
+
selector = '[data-testid*="challenge-"] div'
|
1676
|
+
elif self.is_element_present(
|
1677
|
+
"div#turnstile-widget div:not([class])"
|
1678
|
+
):
|
1679
|
+
selector = "div#turnstile-widget div:not([class])"
|
1680
|
+
elif self.is_element_present(
|
1681
|
+
'form div:not([class]):has(input[name*="cf-turn"])'
|
1682
|
+
):
|
1683
|
+
selector = 'form div:not([class]):has(input[name*="cf-turn"])'
|
1684
|
+
elif (
|
1685
|
+
self.is_element_present('[src*="/turnstile/"]')
|
1686
|
+
and self.is_element_present("form div:not(:has(*))")
|
1687
|
+
):
|
1688
|
+
selector = "form div:not(:has(*))"
|
1689
|
+
elif (
|
1690
|
+
self.is_element_present('[src*="/turnstile/"]')
|
1691
|
+
and self.is_element_present(
|
1692
|
+
"body > div#check > div:not([class])"
|
1693
|
+
)
|
1694
|
+
):
|
1695
|
+
selector = "body > div#check > div:not([class])"
|
1696
|
+
elif self.is_element_present(".cf-turnstile-wrapper"):
|
1697
|
+
selector = ".cf-turnstile-wrapper"
|
1698
|
+
elif self.is_element_present('[class="cf-turnstile"]'):
|
1699
|
+
selector = '[class="cf-turnstile"]'
|
1700
|
+
elif self.is_element_present(
|
1701
|
+
'[data-callback="onCaptchaSuccess"]'
|
1702
|
+
):
|
1703
|
+
selector = '[data-callback="onCaptchaSuccess"]'
|
1704
|
+
else:
|
1705
|
+
return
|
1706
|
+
if not selector:
|
1707
|
+
return
|
1708
|
+
if (
|
1709
|
+
self.is_element_present("form")
|
1710
|
+
and (
|
1711
|
+
self.is_element_present('form[class*="center"]')
|
1712
|
+
or self.is_element_present('form[class*="right"]')
|
1713
|
+
or self.is_element_present('form div[class*="center"]')
|
1714
|
+
or self.is_element_present('form div[class*="right"]')
|
1715
|
+
)
|
1716
|
+
):
|
1717
|
+
script = (
|
1718
|
+
"""var $elements = document.querySelectorAll(
|
1719
|
+
'form[class], form div[class]');
|
1720
|
+
var index = 0, length = $elements.length;
|
1721
|
+
for(; index < length; index++){
|
1722
|
+
the_class = $elements[index].getAttribute('class');
|
1723
|
+
new_class = the_class.replaceAll('center', 'left');
|
1724
|
+
new_class = new_class.replaceAll('right', 'left');
|
1725
|
+
$elements[index].setAttribute('class', new_class);}"""
|
1726
|
+
)
|
1727
|
+
with suppress(Exception):
|
1728
|
+
self.loop.run_until_complete(self.page.evaluate(script))
|
1729
|
+
self.loop.run_until_complete(self.page.wait())
|
1730
|
+
elif (
|
1731
|
+
self.is_element_present("form")
|
1732
|
+
and (
|
1733
|
+
self.is_element_present('form div[style*="center"]')
|
1734
|
+
or self.is_element_present('form div[style*="right"]')
|
1735
|
+
)
|
1736
|
+
):
|
1737
|
+
script = (
|
1738
|
+
"""var $elements = document.querySelectorAll(
|
1739
|
+
'form[style], form div[style]');
|
1740
|
+
var index = 0, length = $elements.length;
|
1741
|
+
for(; index < length; index++){
|
1742
|
+
the_style = $elements[index].getAttribute('style');
|
1743
|
+
new_style = the_style.replaceAll('center', 'left');
|
1744
|
+
new_style = new_style.replaceAll('right', 'left');
|
1745
|
+
$elements[index].setAttribute('style', new_style);}"""
|
1746
|
+
)
|
1747
|
+
with suppress(Exception):
|
1748
|
+
self.loop.run_until_complete(self.page.evaluate(script))
|
1749
|
+
self.loop.run_until_complete(self.page.wait())
|
1750
|
+
elif (
|
1751
|
+
self.is_element_present("form")
|
1752
|
+
and self.is_element_present(
|
1753
|
+
'form [id*="turnstile"] > div:not([class])'
|
1754
|
+
)
|
1755
|
+
):
|
1756
|
+
script = (
|
1757
|
+
"""var $elements = document.querySelectorAll(
|
1758
|
+
'form [id*="turnstile"]');
|
1759
|
+
var index = 0, length = $elements.length;
|
1760
|
+
for(; index < length; index++){
|
1761
|
+
$elements[index].setAttribute('align', 'left');}"""
|
1762
|
+
)
|
1763
|
+
with suppress(Exception):
|
1764
|
+
self.loop.run_until_complete(self.page.evaluate(script))
|
1765
|
+
self.loop.run_until_complete(self.page.wait())
|
1766
|
+
with suppress(Exception):
|
1767
|
+
element_rect = self.get_gui_element_rect(selector, timeout=1)
|
1768
|
+
e_x = element_rect["x"]
|
1769
|
+
e_y = element_rect["y"]
|
1770
|
+
x = e_x + 32
|
1771
|
+
if not shared_utils.is_windows():
|
1772
|
+
y = e_y + 32
|
1773
|
+
else:
|
1774
|
+
y = e_y + 22
|
1775
|
+
sb_config._saved_cf_x_y = (x, y)
|
1776
|
+
self.gui_click_x_y(x, y)
|
1777
|
+
|
1632
1778
|
def __gui_drag_drop(self, x1, y1, x2, y2, timeframe=0.25, uc_lock=False):
|
1633
1779
|
self.__install_pyautogui_if_missing()
|
1634
1780
|
import pyautogui
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.41.
|
3
|
+
Version: 4.41.3
|
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
|
@@ -77,7 +77,7 @@ Requires-Dist: fasteners>=0.20
|
|
77
77
|
Requires-Dist: mycdp>=1.2.0
|
78
78
|
Requires-Dist: pynose>=1.5.4
|
79
79
|
Requires-Dist: platformdirs>=4.3.6; python_version < "3.9"
|
80
|
-
Requires-Dist: platformdirs>=4.
|
80
|
+
Requires-Dist: platformdirs>=4.4.0; python_version >= "3.9"
|
81
81
|
Requires-Dist: typing-extensions>=4.13.2
|
82
82
|
Requires-Dist: sbvirtualdisplay>=1.4.0
|
83
83
|
Requires-Dist: MarkupSafe==2.1.5; python_version < "3.9"
|
@@ -97,7 +97,8 @@ Requires-Dist: chardet==5.2.0
|
|
97
97
|
Requires-Dist: charset-normalizer<4,>=3.4.3
|
98
98
|
Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
|
99
99
|
Requires-Dist: urllib3<2.6.0,>=1.26.20; python_version >= "3.10"
|
100
|
-
Requires-Dist: requests==2.32.4
|
100
|
+
Requires-Dist: requests==2.32.4; python_version < "3.9"
|
101
|
+
Requires-Dist: requests<2.33,>=2.32.5; python_version >= "3.9"
|
101
102
|
Requires-Dist: sniffio==1.3.1
|
102
103
|
Requires-Dist: h11==0.16.0
|
103
104
|
Requires-Dist: outcome==1.3.0.post0
|
@@ -127,8 +128,9 @@ Requires-Dist: pytest-xdist==3.6.1; python_version < "3.9"
|
|
127
128
|
Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9"
|
128
129
|
Requires-Dist: parameterized==0.9.0
|
129
130
|
Requires-Dist: behave==1.2.6
|
130
|
-
Requires-Dist: soupsieve==2.7
|
131
|
-
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
|
132
134
|
Requires-Dist: pyotp==2.9.0
|
133
135
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
134
136
|
Requires-Dist: markdown-it-py==3.0.0; python_version < "3.10"
|
@@ -141,7 +143,7 @@ Requires-Dist: allure-python-commons>=2.13.5; extra == "allure"
|
|
141
143
|
Requires-Dist: allure-behave>=2.13.5; extra == "allure"
|
142
144
|
Provides-Extra: coverage
|
143
145
|
Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
|
144
|
-
Requires-Dist: coverage>=7.10.
|
146
|
+
Requires-Dist: coverage>=7.10.5; python_version >= "3.9" and extra == "coverage"
|
145
147
|
Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
|
146
148
|
Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
|
147
149
|
Provides-Extra: flake8
|
@@ -20,7 +20,6 @@ pdbp>=1.7.1
|
|
20
20
|
idna==3.10
|
21
21
|
chardet==5.2.0
|
22
22
|
charset-normalizer<4,>=3.4.3
|
23
|
-
requests==2.32.4
|
24
23
|
sniffio==1.3.1
|
25
24
|
h11==0.16.0
|
26
25
|
outcome==1.3.0.post0
|
@@ -35,8 +34,7 @@ pytest-metadata==3.1.1
|
|
35
34
|
pytest-ordering==0.6
|
36
35
|
parameterized==0.9.0
|
37
36
|
behave==1.2.6
|
38
|
-
|
39
|
-
beautifulsoup4==4.13.4
|
37
|
+
beautifulsoup4~=4.13.5
|
40
38
|
pyotp==2.9.0
|
41
39
|
mdurl==0.1.2
|
42
40
|
rich<15,>=14.1.0
|
@@ -58,6 +56,7 @@ websockets~=13.1
|
|
58
56
|
filelock~=3.16.1
|
59
57
|
platformdirs>=4.3.6
|
60
58
|
MarkupSafe==2.1.5
|
59
|
+
requests==2.32.4
|
61
60
|
trio==0.27.0
|
62
61
|
selenium==4.27.1
|
63
62
|
cssselect==1.2.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
|
@@ -76,14 +76,16 @@ markdown-it-py==4.0.0
|
|
76
76
|
pip>=25.2
|
77
77
|
websockets>=15.0.1
|
78
78
|
filelock>=3.19.1
|
79
|
-
platformdirs>=4.
|
79
|
+
platformdirs>=4.4.0
|
80
80
|
MarkupSafe>=3.0.2
|
81
|
+
requests<2.33,>=2.32.5
|
81
82
|
trio==0.30.0
|
82
83
|
cssselect==1.3.0
|
83
84
|
pluggy==1.6.0
|
84
85
|
pytest==8.4.1
|
85
86
|
pytest-rerunfailures==15.1
|
86
87
|
pytest-xdist==3.8.0
|
88
|
+
soupsieve~=2.8
|
87
89
|
|
88
90
|
[:python_version >= "3.9" and python_version < "3.10"]
|
89
91
|
selenium==4.32.0
|
@@ -100,7 +102,7 @@ coverage>=7.6.1
|
|
100
102
|
pytest-cov>=5.0.0
|
101
103
|
|
102
104
|
[coverage:python_version >= "3.9"]
|
103
|
-
coverage>=7.10.
|
105
|
+
coverage>=7.10.5
|
104
106
|
pytest-cov>=6.2.1
|
105
107
|
|
106
108
|
[flake8]
|
@@ -163,7 +163,7 @@ setup(
|
|
163
163
|
"mycdp>=1.2.0",
|
164
164
|
"pynose>=1.5.4",
|
165
165
|
'platformdirs>=4.3.6;python_version<"3.9"',
|
166
|
-
'platformdirs>=4.
|
166
|
+
'platformdirs>=4.4.0;python_version>="3.9"',
|
167
167
|
'typing-extensions>=4.13.2',
|
168
168
|
"sbvirtualdisplay>=1.4.0",
|
169
169
|
'MarkupSafe==2.1.5;python_version<"3.9"',
|
@@ -183,7 +183,8 @@ setup(
|
|
183
183
|
'charset-normalizer>=3.4.3,<4',
|
184
184
|
'urllib3>=1.26.20,<2;python_version<"3.10"',
|
185
185
|
'urllib3>=1.26.20,<2.6.0;python_version>="3.10"',
|
186
|
-
'requests==2.32.4',
|
186
|
+
'requests==2.32.4;python_version<"3.9"',
|
187
|
+
'requests>=2.32.5,<2.33;python_version>="3.9"',
|
187
188
|
'sniffio==1.3.1',
|
188
189
|
'h11==0.16.0',
|
189
190
|
'outcome==1.3.0.post0',
|
@@ -213,8 +214,9 @@ setup(
|
|
213
214
|
'pytest-xdist==3.8.0;python_version>="3.9"',
|
214
215
|
'parameterized==0.9.0',
|
215
216
|
"behave==1.2.6", # Newer ones had issues
|
216
|
-
'soupsieve==2.7',
|
217
|
-
"
|
217
|
+
'soupsieve==2.7;python_version<"3.9"',
|
218
|
+
'soupsieve~=2.8;python_version>="3.9"',
|
219
|
+
"beautifulsoup4~=4.13.5",
|
218
220
|
'pyotp==2.9.0',
|
219
221
|
'python-xlib==0.33;platform_system=="Linux"',
|
220
222
|
'markdown-it-py==3.0.0;python_version<"3.10"',
|
@@ -235,7 +237,7 @@ setup(
|
|
235
237
|
# Usage: coverage run -m pytest; coverage html; coverage report
|
236
238
|
"coverage": [
|
237
239
|
'coverage>=7.6.1;python_version<"3.9"',
|
238
|
-
'coverage>=7.10.
|
240
|
+
'coverage>=7.10.5;python_version>="3.9"',
|
239
241
|
'pytest-cov>=5.0.0;python_version<"3.9"',
|
240
242
|
'pytest-cov>=6.2.1;python_version>="3.9"',
|
241
243
|
],
|
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
|
File without changes
|
{seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.1 → seleniumbase-4.41.3}/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.1 → seleniumbase-4.41.3}/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.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
File without changes
|
{seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
File without changes
|
{seleniumbase-4.41.1 → seleniumbase-4.41.3}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
File without changes
|
File without changes
|
{seleniumbase-4.41.1 → seleniumbase-4.41.3}/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
|