seleniumbase 4.47.7__tar.gz → 4.47.9__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.47.7/seleniumbase.egg-info → seleniumbase-4.47.9}/PKG-INFO +5 -4
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/requirements.txt +3 -2
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/browser_launcher.py +1 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/sb_cdp.py +25 -3
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/cdp_util.py +19 -11
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/config.py +36 -14
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/connection.py +27 -16
- {seleniumbase-4.47.7 → seleniumbase-4.47.9/seleniumbase.egg-info}/PKG-INFO +5 -4
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase.egg-info/requires.txt +4 -3
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/setup.py +4 -3
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/.gitignore +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/LICENSE +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/MANIFEST.in +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/README.md +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/install.sh +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/pyproject.toml +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/pytest.ini +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/sbase/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/sbase/__main__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/sbase/steps.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/atlas_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/base_case.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/setup.cfg +0 -0
- {seleniumbase-4.47.7 → seleniumbase-4.47.9}/virtualenv_install.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.47.
|
|
3
|
+
Version: 4.47.9
|
|
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
|
|
@@ -84,7 +84,7 @@ Requires-Dist: parse>=1.21.1
|
|
|
84
84
|
Requires-Dist: parse-type>=0.6.6
|
|
85
85
|
Requires-Dist: colorama>=0.4.6
|
|
86
86
|
Requires-Dist: pyyaml>=6.0.3
|
|
87
|
-
Requires-Dist: pygments>=2.
|
|
87
|
+
Requires-Dist: pygments>=2.20.0
|
|
88
88
|
Requires-Dist: pyreadline3>=3.5.4; platform_system == "Windows"
|
|
89
89
|
Requires-Dist: tabcompleter>=1.4.0
|
|
90
90
|
Requires-Dist: pdbp>=1.8.2
|
|
@@ -92,7 +92,8 @@ Requires-Dist: idna>=3.11
|
|
|
92
92
|
Requires-Dist: charset-normalizer<4,>=3.4.6
|
|
93
93
|
Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
|
|
94
94
|
Requires-Dist: urllib3<3,>=1.26.20; python_version >= "3.10"
|
|
95
|
-
Requires-Dist: requests~=2.32.5
|
|
95
|
+
Requires-Dist: requests~=2.32.5; python_version < "3.10"
|
|
96
|
+
Requires-Dist: requests~=2.33.1; python_version >= "3.10"
|
|
96
97
|
Requires-Dist: sniffio==1.3.1
|
|
97
98
|
Requires-Dist: h11==0.16.0
|
|
98
99
|
Requires-Dist: outcome==1.3.0.post0
|
|
@@ -153,7 +154,7 @@ Requires-Dist: mss==10.1.0; extra == "mss"
|
|
|
153
154
|
Provides-Extra: pdfminer
|
|
154
155
|
Requires-Dist: pdfminer.six==20251107; python_version < "3.10" and extra == "pdfminer"
|
|
155
156
|
Requires-Dist: pdfminer.six==20260107; python_version >= "3.10" and extra == "pdfminer"
|
|
156
|
-
Requires-Dist: cryptography==46.0.
|
|
157
|
+
Requires-Dist: cryptography==46.0.6; extra == "pdfminer"
|
|
157
158
|
Requires-Dist: cffi==2.0.0; extra == "pdfminer"
|
|
158
159
|
Requires-Dist: pycparser==2.23; python_version < "3.10" and extra == "pdfminer"
|
|
159
160
|
Requires-Dist: pycparser==3.0; python_version >= "3.10" and extra == "pdfminer"
|
|
@@ -24,7 +24,7 @@ parse>=1.21.1
|
|
|
24
24
|
parse-type>=0.6.6
|
|
25
25
|
colorama>=0.4.6
|
|
26
26
|
pyyaml>=6.0.3
|
|
27
|
-
pygments>=2.
|
|
27
|
+
pygments>=2.20.0
|
|
28
28
|
pyreadline3>=3.5.4;platform_system=="Windows"
|
|
29
29
|
tabcompleter>=1.4.0
|
|
30
30
|
pdbp>=1.8.2
|
|
@@ -32,7 +32,8 @@ idna>=3.11
|
|
|
32
32
|
charset-normalizer>=3.4.6,<4
|
|
33
33
|
urllib3>=1.26.20,<2;python_version<"3.10"
|
|
34
34
|
urllib3>=1.26.20,<3;python_version>="3.10"
|
|
35
|
-
requests~=2.32.5
|
|
35
|
+
requests~=2.32.5;python_version<"3.10"
|
|
36
|
+
requests~=2.33.1;python_version>="3.10"
|
|
36
37
|
sniffio==1.3.1
|
|
37
38
|
h11==0.16.0
|
|
38
39
|
outcome==1.3.0.post0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.47.
|
|
2
|
+
__version__ = "4.47.9"
|
|
@@ -872,6 +872,7 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs):
|
|
|
872
872
|
cdp.get_gui_element_center = CDPM.get_gui_element_center
|
|
873
873
|
cdp.get_html = CDPM.get_html
|
|
874
874
|
cdp.get_page_source = CDPM.get_page_source
|
|
875
|
+
cdp.get_beautiful_soup = CDPM.get_beautiful_soup
|
|
875
876
|
cdp.get_user_agent = CDPM.get_user_agent
|
|
876
877
|
cdp.get_cookie_string = CDPM.get_cookie_string
|
|
877
878
|
cdp.get_locale_code = CDPM.get_locale_code
|
|
@@ -117,10 +117,10 @@ class CDPMethods():
|
|
|
117
117
|
if hasattr(driver, "cdp_base"):
|
|
118
118
|
driver = driver.cdp_base
|
|
119
119
|
load_timeout = 60.0
|
|
120
|
-
wait_timeout =
|
|
120
|
+
wait_timeout = 50.0
|
|
121
121
|
if hasattr(sb_config, "_cdp_proxy") and sb_config._cdp_proxy:
|
|
122
122
|
load_timeout = 90.0
|
|
123
|
-
wait_timeout =
|
|
123
|
+
wait_timeout = 75.0
|
|
124
124
|
try:
|
|
125
125
|
task = self.page.get(url, **kwargs)
|
|
126
126
|
self.loop.run_until_complete(
|
|
@@ -128,6 +128,10 @@ class CDPMethods():
|
|
|
128
128
|
)
|
|
129
129
|
except asyncio.TimeoutError:
|
|
130
130
|
print("Timeout loading %s" % url)
|
|
131
|
+
except RuntimeError:
|
|
132
|
+
self.loop.run_until_complete(
|
|
133
|
+
self.page.get(url, **kwargs)
|
|
134
|
+
)
|
|
131
135
|
url_protocol = url.split(":")[0]
|
|
132
136
|
safe_url = True
|
|
133
137
|
if url_protocol not in ["about", "data", "chrome"]:
|
|
@@ -1064,7 +1068,11 @@ class CDPMethods():
|
|
|
1064
1068
|
):
|
|
1065
1069
|
text = text.replace("\n", "\r")
|
|
1066
1070
|
for key in text:
|
|
1067
|
-
|
|
1071
|
+
try:
|
|
1072
|
+
element.send_keys(key)
|
|
1073
|
+
except AttributeError:
|
|
1074
|
+
element = self.select(selector, timeout=0.1)
|
|
1075
|
+
element.send_keys(key)
|
|
1068
1076
|
time.sleep(float(0.042 + (random.random() / 110.0)))
|
|
1069
1077
|
if submit:
|
|
1070
1078
|
element.send_keys("\r\n")
|
|
@@ -1395,6 +1403,20 @@ class CDPMethods():
|
|
|
1395
1403
|
)
|
|
1396
1404
|
return source
|
|
1397
1405
|
|
|
1406
|
+
def get_beautiful_soup(self, source=None):
|
|
1407
|
+
"""BeautifulSoup is a toolkit for dissecting an HTML document
|
|
1408
|
+
and extracting what you need. It's great for screen-scraping!
|
|
1409
|
+
See: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ """
|
|
1410
|
+
from bs4 import BeautifulSoup
|
|
1411
|
+
|
|
1412
|
+
if not source:
|
|
1413
|
+
with suppress(Exception):
|
|
1414
|
+
self.wait_for_element_visible(
|
|
1415
|
+
"body", timeout=settings.MINI_TIMEOUT
|
|
1416
|
+
)
|
|
1417
|
+
source = self.get_page_source()
|
|
1418
|
+
return BeautifulSoup(source, "html.parser")
|
|
1419
|
+
|
|
1398
1420
|
def get_user_agent(self):
|
|
1399
1421
|
return self.loop.run_until_complete(
|
|
1400
1422
|
self.page.evaluate("navigator.userAgent")
|
|
@@ -31,6 +31,7 @@ DOWNLOADS_FOLDER = download_helper.get_downloads_folder()
|
|
|
31
31
|
PROXY_DIR_LOCK = proxy_helper.PROXY_DIR_LOCK
|
|
32
32
|
EXTENSIONS_DIR = os.path.dirname(os.path.realpath(extensions.__file__))
|
|
33
33
|
AD_BLOCK_ZIP_PATH = os.path.join(EXTENSIONS_DIR, "ad_block.zip")
|
|
34
|
+
DISABLE_CSP_ZIP_PATH = os.path.join(EXTENSIONS_DIR, "disable_csp.zip")
|
|
34
35
|
T = typing.TypeVar("T")
|
|
35
36
|
|
|
36
37
|
|
|
@@ -598,16 +599,6 @@ async def start(
|
|
|
598
599
|
proxy_pass,
|
|
599
600
|
proxy_scheme,
|
|
600
601
|
)
|
|
601
|
-
if ad_block:
|
|
602
|
-
sb_config.ad_block_on = True
|
|
603
|
-
incognito = False
|
|
604
|
-
guest = False
|
|
605
|
-
ad_block_zip = AD_BLOCK_ZIP_PATH
|
|
606
|
-
ad_block_dir = os.path.join(DOWNLOADS_FOLDER, "ad_block")
|
|
607
|
-
__unzip_to_new_folder(ad_block_zip, ad_block_dir)
|
|
608
|
-
extension_dir = __add_chrome_ext_dir(extension_dir, ad_block_dir)
|
|
609
|
-
if disable_csp:
|
|
610
|
-
sb_config.disable_csp = True
|
|
611
602
|
if "binary_location" in kwargs and not browser_executable_path:
|
|
612
603
|
browser_executable_path = kwargs["binary_location"]
|
|
613
604
|
if not user_data_dir and "--user-data-dir" in arg_join:
|
|
@@ -624,8 +615,8 @@ async def start(
|
|
|
624
615
|
user_data_dir = udd_string
|
|
625
616
|
if user_data_dir:
|
|
626
617
|
user_data_dir = os.path.abspath(user_data_dir)
|
|
618
|
+
browser = None
|
|
627
619
|
if not browser_executable_path:
|
|
628
|
-
browser = None
|
|
629
620
|
if "browser" in kwargs:
|
|
630
621
|
browser = kwargs["browser"]
|
|
631
622
|
if not browser and "--browser" in arg_join:
|
|
@@ -675,6 +666,23 @@ async def start(
|
|
|
675
666
|
sb_config._cdp_browser = "atlas"
|
|
676
667
|
else:
|
|
677
668
|
sb_config._cdp_browser = "chrome"
|
|
669
|
+
if ad_block:
|
|
670
|
+
sb_config.ad_block_on = True
|
|
671
|
+
incognito = False
|
|
672
|
+
guest = False
|
|
673
|
+
ad_block_zip = AD_BLOCK_ZIP_PATH
|
|
674
|
+
ad_block_dir = os.path.join(DOWNLOADS_FOLDER, "ad_block")
|
|
675
|
+
__unzip_to_new_folder(ad_block_zip, ad_block_dir)
|
|
676
|
+
extension_dir = __add_chrome_ext_dir(extension_dir, ad_block_dir)
|
|
677
|
+
if disable_csp:
|
|
678
|
+
sb_config.disable_csp = True
|
|
679
|
+
if not incognito and not guest:
|
|
680
|
+
disable_csp_zip = DISABLE_CSP_ZIP_PATH
|
|
681
|
+
disable_csp_dir = os.path.join(DOWNLOADS_FOLDER, "disable_csp")
|
|
682
|
+
__unzip_to_new_folder(disable_csp_zip, disable_csp_dir)
|
|
683
|
+
extension_dir = __add_chrome_ext_dir(
|
|
684
|
+
extension_dir, disable_csp_dir
|
|
685
|
+
)
|
|
678
686
|
sb_config.incognito = incognito
|
|
679
687
|
sb_config.guest_mode = guest
|
|
680
688
|
if not config:
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import json
|
|
1
2
|
import logging
|
|
2
3
|
import os
|
|
3
4
|
import pathlib
|
|
@@ -88,19 +89,19 @@ class Config:
|
|
|
88
89
|
if not browser_args:
|
|
89
90
|
browser_args = []
|
|
90
91
|
if not user_data_dir:
|
|
91
|
-
self.user_data_dir = temp_profile_dir()
|
|
92
|
+
self.user_data_dir = temp_profile_dir(proxy=proxy)
|
|
92
93
|
self._user_data_dir = self.user_data_dir
|
|
93
94
|
self._custom_data_dir = False
|
|
94
95
|
else:
|
|
95
96
|
self.user_data_dir = user_data_dir
|
|
96
97
|
profile = os.path.join(self.user_data_dir, "Default")
|
|
97
98
|
preferences_file = os.path.join(profile, "Preferences")
|
|
98
|
-
preferences = get_default_preferences()
|
|
99
|
+
preferences = get_default_preferences(proxy=proxy)
|
|
99
100
|
if not os.path.exists(profile):
|
|
100
101
|
with suppress(Exception):
|
|
101
102
|
os.makedirs(profile)
|
|
102
|
-
with open(preferences_file, "w") as f:
|
|
103
|
-
|
|
103
|
+
with open(preferences_file, "w", encoding="utf-8") as f:
|
|
104
|
+
json.dump(preferences, f)
|
|
104
105
|
mock_keychain = False
|
|
105
106
|
if not browser_executable_path:
|
|
106
107
|
browser_executable_path = find_chrome_executable()
|
|
@@ -343,25 +344,46 @@ def is_root():
|
|
|
343
344
|
return ctypes.windll.shell32.IsUserAnAdmin() != 0
|
|
344
345
|
|
|
345
346
|
|
|
346
|
-
def get_default_preferences():
|
|
347
|
-
|
|
348
|
-
""
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
347
|
+
def get_default_preferences(proxy=None):
|
|
348
|
+
prefs = {
|
|
349
|
+
"profile": {
|
|
350
|
+
"password_manager_leak_detection": False,
|
|
351
|
+
"password_manager_enabled": False
|
|
352
|
+
},
|
|
353
|
+
"credentials_enable_service": False,
|
|
354
|
+
"omnibox-max-zero-suggest-matches": 0,
|
|
355
|
+
"omnibox-zero-suggest-prefetching": 0,
|
|
356
|
+
"omnibox-zero-suggest-prefetching-on-srp": 0,
|
|
357
|
+
"omnibox-zero-suggest-prefetching-on-web": 0,
|
|
358
|
+
"omnibox-zero-suggest-in-memory-caching": 0,
|
|
359
|
+
"local_discovery": {
|
|
360
|
+
"notifications_enabled": False
|
|
361
|
+
},
|
|
362
|
+
"autofill": {
|
|
363
|
+
"profile_enabled": False,
|
|
364
|
+
"credit_card_enabled": False
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
if proxy:
|
|
368
|
+
prefs["webrtc"] = {
|
|
369
|
+
"ip_handling_policy": "disable_non_proxied_udp",
|
|
370
|
+
"multiple_routes_enabled": False,
|
|
371
|
+
"nonproxied_udp_enabled": False
|
|
372
|
+
}
|
|
373
|
+
return prefs
|
|
352
374
|
|
|
353
375
|
|
|
354
|
-
def temp_profile_dir():
|
|
376
|
+
def temp_profile_dir(proxy=None):
|
|
355
377
|
"""Generate a temp dir (path)"""
|
|
356
378
|
path = os.path.normpath(tempfile.mkdtemp(prefix="uc_"))
|
|
357
379
|
profile = os.path.join(path, "Default")
|
|
358
380
|
preferences_file = os.path.join(profile, "Preferences")
|
|
359
|
-
preferences = get_default_preferences()
|
|
381
|
+
preferences = get_default_preferences(proxy=proxy)
|
|
360
382
|
if not os.path.exists(profile):
|
|
361
383
|
with suppress(Exception):
|
|
362
384
|
os.makedirs(profile)
|
|
363
|
-
with open(preferences_file, "w") as f:
|
|
364
|
-
|
|
385
|
+
with open(preferences_file, "w", encoding="utf-8") as f:
|
|
386
|
+
json.dump(preferences, f)
|
|
365
387
|
return path
|
|
366
388
|
|
|
367
389
|
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/connection.py
RENAMED
|
@@ -305,20 +305,31 @@ class Connection(metaclass=CantTouchThis):
|
|
|
305
305
|
await self.update_target()
|
|
306
306
|
loop = asyncio.get_running_loop()
|
|
307
307
|
start_time = loop.time()
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
308
|
+
with warnings.catch_warnings():
|
|
309
|
+
warnings.filterwarnings(
|
|
310
|
+
action="ignore",
|
|
311
|
+
category=RuntimeWarning,
|
|
312
|
+
message=".*coroutine.*",
|
|
313
|
+
)
|
|
314
|
+
try:
|
|
315
|
+
if isinstance(t, (int, float)):
|
|
316
|
+
try:
|
|
317
|
+
await asyncio.wait_for(
|
|
318
|
+
self.listener.idle.wait(), timeout=t
|
|
319
|
+
)
|
|
320
|
+
except RuntimeError:
|
|
321
|
+
await self.listener.idle.wait()
|
|
322
|
+
while (loop.time() - start_time) < t:
|
|
323
|
+
await asyncio.sleep(0.1)
|
|
324
|
+
else:
|
|
325
|
+
await self.listener.idle.wait()
|
|
326
|
+
except asyncio.TimeoutError:
|
|
327
|
+
if isinstance(t, (int, float)):
|
|
328
|
+
# Explicit time that's given has passed, so leave now.
|
|
329
|
+
return
|
|
330
|
+
except AttributeError:
|
|
331
|
+
# No listener created yet.
|
|
332
|
+
pass
|
|
322
333
|
|
|
323
334
|
async def set_locale(self, locale: Optional[str] = None):
|
|
324
335
|
"""Sets the Language Locale code via set_user_agent_override."""
|
|
@@ -423,9 +434,9 @@ class Connection(metaclass=CantTouchThis):
|
|
|
423
434
|
await self.websocket.send(tx.message)
|
|
424
435
|
with warnings.catch_warnings():
|
|
425
436
|
warnings.filterwarnings(
|
|
426
|
-
"ignore",
|
|
427
|
-
message="coroutine .* was never awaited",
|
|
437
|
+
action="ignore",
|
|
428
438
|
category=RuntimeWarning,
|
|
439
|
+
message=".*coroutine.*",
|
|
429
440
|
)
|
|
430
441
|
try:
|
|
431
442
|
return await tx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.47.
|
|
3
|
+
Version: 4.47.9
|
|
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
|
|
@@ -84,7 +84,7 @@ Requires-Dist: parse>=1.21.1
|
|
|
84
84
|
Requires-Dist: parse-type>=0.6.6
|
|
85
85
|
Requires-Dist: colorama>=0.4.6
|
|
86
86
|
Requires-Dist: pyyaml>=6.0.3
|
|
87
|
-
Requires-Dist: pygments>=2.
|
|
87
|
+
Requires-Dist: pygments>=2.20.0
|
|
88
88
|
Requires-Dist: pyreadline3>=3.5.4; platform_system == "Windows"
|
|
89
89
|
Requires-Dist: tabcompleter>=1.4.0
|
|
90
90
|
Requires-Dist: pdbp>=1.8.2
|
|
@@ -92,7 +92,8 @@ Requires-Dist: idna>=3.11
|
|
|
92
92
|
Requires-Dist: charset-normalizer<4,>=3.4.6
|
|
93
93
|
Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
|
|
94
94
|
Requires-Dist: urllib3<3,>=1.26.20; python_version >= "3.10"
|
|
95
|
-
Requires-Dist: requests~=2.32.5
|
|
95
|
+
Requires-Dist: requests~=2.32.5; python_version < "3.10"
|
|
96
|
+
Requires-Dist: requests~=2.33.1; python_version >= "3.10"
|
|
96
97
|
Requires-Dist: sniffio==1.3.1
|
|
97
98
|
Requires-Dist: h11==0.16.0
|
|
98
99
|
Requires-Dist: outcome==1.3.0.post0
|
|
@@ -153,7 +154,7 @@ Requires-Dist: mss==10.1.0; extra == "mss"
|
|
|
153
154
|
Provides-Extra: pdfminer
|
|
154
155
|
Requires-Dist: pdfminer.six==20251107; python_version < "3.10" and extra == "pdfminer"
|
|
155
156
|
Requires-Dist: pdfminer.six==20260107; python_version >= "3.10" and extra == "pdfminer"
|
|
156
|
-
Requires-Dist: cryptography==46.0.
|
|
157
|
+
Requires-Dist: cryptography==46.0.6; extra == "pdfminer"
|
|
157
158
|
Requires-Dist: cffi==2.0.0; extra == "pdfminer"
|
|
158
159
|
Requires-Dist: pycparser==2.23; python_version < "3.10" and extra == "pdfminer"
|
|
159
160
|
Requires-Dist: pycparser==3.0; python_version >= "3.10" and extra == "pdfminer"
|
|
@@ -16,12 +16,11 @@ parse>=1.21.1
|
|
|
16
16
|
parse-type>=0.6.6
|
|
17
17
|
colorama>=0.4.6
|
|
18
18
|
pyyaml>=6.0.3
|
|
19
|
-
pygments>=2.
|
|
19
|
+
pygments>=2.20.0
|
|
20
20
|
tabcompleter>=1.4.0
|
|
21
21
|
pdbp>=1.8.2
|
|
22
22
|
idna>=3.11
|
|
23
23
|
charset-normalizer<4,>=3.4.6
|
|
24
|
-
requests~=2.32.5
|
|
25
24
|
sniffio==1.3.1
|
|
26
25
|
h11==0.16.0
|
|
27
26
|
outcome==1.3.0.post0
|
|
@@ -55,6 +54,7 @@ websockets~=15.0.1
|
|
|
55
54
|
filelock~=3.19.1
|
|
56
55
|
platformdirs~=4.4.0
|
|
57
56
|
urllib3<2,>=1.26.20
|
|
57
|
+
requests~=2.32.5
|
|
58
58
|
trio<1,>=0.31.0
|
|
59
59
|
wsproto==1.2.0
|
|
60
60
|
selenium==4.32.0
|
|
@@ -73,6 +73,7 @@ websockets>=16.0
|
|
|
73
73
|
filelock>=3.25.2
|
|
74
74
|
platformdirs>=4.9.4
|
|
75
75
|
urllib3<3,>=1.26.20
|
|
76
|
+
requests~=2.33.1
|
|
76
77
|
trio<1,>=0.33.0
|
|
77
78
|
wsproto~=1.3.2
|
|
78
79
|
selenium==4.41.0
|
|
@@ -113,7 +114,7 @@ ipython==7.34.0
|
|
|
113
114
|
mss==10.1.0
|
|
114
115
|
|
|
115
116
|
[pdfminer]
|
|
116
|
-
cryptography==46.0.
|
|
117
|
+
cryptography==46.0.6
|
|
117
118
|
cffi==2.0.0
|
|
118
119
|
|
|
119
120
|
[pdfminer:python_version < "3.10"]
|
|
@@ -172,7 +172,7 @@ setup(
|
|
|
172
172
|
'parse-type>=0.6.6',
|
|
173
173
|
'colorama>=0.4.6',
|
|
174
174
|
'pyyaml>=6.0.3',
|
|
175
|
-
'pygments>=2.
|
|
175
|
+
'pygments>=2.20.0',
|
|
176
176
|
'pyreadline3>=3.5.4;platform_system=="Windows"',
|
|
177
177
|
'tabcompleter>=1.4.0',
|
|
178
178
|
'pdbp>=1.8.2',
|
|
@@ -180,7 +180,8 @@ setup(
|
|
|
180
180
|
'charset-normalizer>=3.4.6,<4',
|
|
181
181
|
'urllib3>=1.26.20,<2;python_version<"3.10"',
|
|
182
182
|
'urllib3>=1.26.20,<3;python_version>="3.10"',
|
|
183
|
-
'requests~=2.32.5',
|
|
183
|
+
'requests~=2.32.5;python_version<"3.10"',
|
|
184
|
+
'requests~=2.33.1;python_version>="3.10"',
|
|
184
185
|
'sniffio==1.3.1',
|
|
185
186
|
'h11==0.16.0',
|
|
186
187
|
'outcome==1.3.0.post0',
|
|
@@ -261,7 +262,7 @@ setup(
|
|
|
261
262
|
"pdfminer": [
|
|
262
263
|
'pdfminer.six==20251107;python_version<"3.10"',
|
|
263
264
|
'pdfminer.six==20260107;python_version>="3.10"',
|
|
264
|
-
'cryptography==46.0.
|
|
265
|
+
'cryptography==46.0.6',
|
|
265
266
|
'cffi==2.0.0',
|
|
266
267
|
'pycparser==2.23;python_version<"3.10"',
|
|
267
268
|
'pycparser==3.0;python_version>="3.10"',
|
|
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.47.7 → seleniumbase-4.47.9}/seleniumbase/drivers/chromium_drivers/__init__.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
|
|
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.47.7 → seleniumbase-4.47.9}/seleniumbase/undetected/cdp_driver/_contradict.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
|
|
File without changes
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
|
File without changes
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
|
File without changes
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
|
File without changes
|
|
File without changes
|
{seleniumbase-4.47.7 → seleniumbase-4.47.9}/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
|