seleniumbase 4.56.5__tar.gz → 4.57.0__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.56.5/seleniumbase.egg-info → seleniumbase-4.57.0}/PKG-INFO +10 -10
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/README.md +3 -3
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/requirements.txt +5 -5
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/browser_launcher.py +0 -1
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/sb_cdp.py +5 -2
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/config.py +1 -1
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/tab.py +23 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0/seleniumbase.egg-info}/PKG-INFO +10 -10
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase.egg-info/requires.txt +6 -6
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/setup.py +6 -6
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/.gitignore +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/LICENSE +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/MANIFEST.in +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/install.sh +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/mcp_servers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/mcp_servers/server.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/pyproject.toml +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/pytest.ini +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/sbase/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/sbase/__main__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/sbase/steps.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/nest_asyncio.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/base_case.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/setup.cfg +0 -0
- {seleniumbase-4.56.5 → seleniumbase-4.57.0}/virtualenv_install.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.57.0
|
|
4
4
|
Summary: SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools.
|
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
|
6
6
|
Author: Michael Mintz
|
|
@@ -58,7 +58,7 @@ Classifier: Topic :: Utilities
|
|
|
58
58
|
Requires-Python: >=3.10
|
|
59
59
|
Description-Content-Type: text/markdown
|
|
60
60
|
License-File: LICENSE
|
|
61
|
-
Requires-Dist: pip>=26.
|
|
61
|
+
Requires-Dist: pip>=26.3
|
|
62
62
|
Requires-Dist: packaging>=26.3
|
|
63
63
|
Requires-Dist: setuptools>=84.2.1
|
|
64
64
|
Requires-Dist: wheel>=0.48.0
|
|
@@ -66,9 +66,9 @@ Requires-Dist: attrs>=26.1.0
|
|
|
66
66
|
Requires-Dist: certifi>=2026.10.23
|
|
67
67
|
Requires-Dist: exceptiongroup>=1.3.1
|
|
68
68
|
Requires-Dist: websockets~=16.1.1; python_version == "3.10"
|
|
69
|
-
Requires-Dist: websockets>=17.
|
|
69
|
+
Requires-Dist: websockets>=17.4; python_version >= "3.11"
|
|
70
70
|
Requires-Dist: filelock==4.1.0; python_version == "3.10"
|
|
71
|
-
Requires-Dist: filelock>=4.2.
|
|
71
|
+
Requires-Dist: filelock>=4.2.7; python_version >= "3.11"
|
|
72
72
|
Requires-Dist: fasteners>=0.20
|
|
73
73
|
Requires-Dist: mycdp>=1.4.0
|
|
74
74
|
Requires-Dist: pynose>=1.5.5
|
|
@@ -93,11 +93,11 @@ Requires-Dist: requests~=2.34.2
|
|
|
93
93
|
Requires-Dist: sniffio==1.3.1
|
|
94
94
|
Requires-Dist: h11==0.16.0
|
|
95
95
|
Requires-Dist: outcome==1.3.0.post0
|
|
96
|
-
Requires-Dist: trio<1,>=0.
|
|
96
|
+
Requires-Dist: trio<1,>=0.35.0
|
|
97
97
|
Requires-Dist: trio-websocket~=0.12.2
|
|
98
98
|
Requires-Dist: wsproto~=1.3.2
|
|
99
99
|
Requires-Dist: websocket-client~=1.9.2
|
|
100
|
-
Requires-Dist: selenium==4.
|
|
100
|
+
Requires-Dist: selenium==4.52.0
|
|
101
101
|
Requires-Dist: cssselect~=1.5.0; python_version < "3.11"
|
|
102
102
|
Requires-Dist: cssselect<2,>=1.6.0; python_version >= "3.11"
|
|
103
103
|
Requires-Dist: sortedcontainers==2.4.0
|
|
@@ -164,7 +164,7 @@ Requires-Dist: pyee>=14.0.0; python_version >= "3.12" and extra == "playwright"
|
|
|
164
164
|
Provides-Extra: pyautogui
|
|
165
165
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
166
166
|
Provides-Extra: uv
|
|
167
|
-
Requires-Dist: uv>=0.13.
|
|
167
|
+
Requires-Dist: uv>=0.13.7; extra == "uv"
|
|
168
168
|
Dynamic: author
|
|
169
169
|
Dynamic: author-email
|
|
170
170
|
Dynamic: classifier
|
|
@@ -191,7 +191,7 @@ Dynamic: summary
|
|
|
191
191
|
|
|
192
192
|
<h1 align="center">📊 SeleniumBase</h1>
|
|
193
193
|
|
|
194
|
-
<h3 align="center">
|
|
194
|
+
<h3 align="center">APIs for Web Scraping, Browser Automation, and E2E Testing.<br /></h3>
|
|
195
195
|
|
|
196
196
|
<p align="center"><b align="center">Includes stealth options for bypassing bot-detection and CAPTCHAs.<br /></b></p>
|
|
197
197
|
|
|
@@ -241,9 +241,9 @@ Dynamic: summary
|
|
|
241
241
|
|
|
242
242
|
--------
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
🐙 <a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md"><a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md"><b>CDP Mode</b></a> bypasses bot-detection and <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/playwright/ReadMe.md">makes <span translate="no">Playwright</span> stealthy</a>.
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
ℹ️ Example scripts that start or end with "<code>test</code>" run with <code><b>pytest</b></code>. Other scripts run directly with raw <code><b>python</b></code> (and start with "<code>raw</code>" to avoid confusion).
|
|
247
247
|
|
|
248
248
|
--------
|
|
249
249
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<h1 align="center">📊 SeleniumBase</h1>
|
|
12
12
|
|
|
13
|
-
<h3 align="center">
|
|
13
|
+
<h3 align="center">APIs for Web Scraping, Browser Automation, and E2E Testing.<br /></h3>
|
|
14
14
|
|
|
15
15
|
<p align="center"><b align="center">Includes stealth options for bypassing bot-detection and CAPTCHAs.<br /></b></p>
|
|
16
16
|
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
|
|
61
61
|
--------
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
🐙 <a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md"><a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md"><b>CDP Mode</b></a> bypasses bot-detection and <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/playwright/ReadMe.md">makes <span translate="no">Playwright</span> stealthy</a>.
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
ℹ️ Example scripts that start or end with "<code>test</code>" run with <code><b>pytest</b></code>. Other scripts run directly with raw <code><b>python</b></code> (and start with "<code>raw</code>" to avoid confusion).
|
|
66
66
|
|
|
67
67
|
--------
|
|
68
68
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pip>=26.
|
|
1
|
+
pip>=26.3
|
|
2
2
|
packaging>=26.3
|
|
3
3
|
setuptools>=84.2.1
|
|
4
4
|
wheel>=0.48.0
|
|
@@ -6,9 +6,9 @@ attrs>=26.1.0
|
|
|
6
6
|
certifi>=2026.10.23
|
|
7
7
|
exceptiongroup>=1.3.1
|
|
8
8
|
websockets~=16.1.1;python_version=="3.10"
|
|
9
|
-
websockets>=17.
|
|
9
|
+
websockets>=17.4;python_version>="3.11"
|
|
10
10
|
filelock==4.1.0;python_version=="3.10"
|
|
11
|
-
filelock>=4.2.
|
|
11
|
+
filelock>=4.2.7;python_version>="3.11"
|
|
12
12
|
fasteners>=0.20
|
|
13
13
|
mycdp>=1.4.0
|
|
14
14
|
pynose>=1.5.5
|
|
@@ -33,11 +33,11 @@ requests~=2.34.2
|
|
|
33
33
|
sniffio==1.3.1
|
|
34
34
|
h11==0.16.0
|
|
35
35
|
outcome==1.3.0.post0
|
|
36
|
-
trio>=0.
|
|
36
|
+
trio>=0.35.0,<1
|
|
37
37
|
trio-websocket~=0.12.2
|
|
38
38
|
wsproto~=1.3.2
|
|
39
39
|
websocket-client~=1.9.2
|
|
40
|
-
selenium==4.
|
|
40
|
+
selenium==4.52.0
|
|
41
41
|
cssselect~=1.5.0;python_version<"3.11"
|
|
42
42
|
cssselect>=1.6.0,<2;python_version>="3.11"
|
|
43
43
|
sortedcontainers==2.4.0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.
|
|
2
|
+
__version__ = "4.57.0"
|
|
@@ -2828,7 +2828,6 @@ def _set_chrome_options(
|
|
|
2828
2828
|
included_disabled_features.append("NetworkPrediction")
|
|
2829
2829
|
included_disabled_features.append("WebAuthentication")
|
|
2830
2830
|
included_disabled_features.append("PasskeyAuth")
|
|
2831
|
-
included_disabled_features.append("MediaRouter")
|
|
2832
2831
|
included_disabled_features.append("DialMediaRouteProvider")
|
|
2833
2832
|
included_disabled_features.append("WebRtcHideLocalIpsWithMdns")
|
|
2834
2833
|
if is_using_uc(undetectable, browser_name):
|
|
@@ -1931,11 +1931,14 @@ class CDPMethods():
|
|
|
1931
1931
|
raise KeyError(attribute)
|
|
1932
1932
|
return value
|
|
1933
1933
|
|
|
1934
|
-
def get_attribute(self, selector, attribute):
|
|
1934
|
+
def get_attribute(self, selector, attribute, timeout=None):
|
|
1935
1935
|
"""Find an element and return the value of an attribute.
|
|
1936
1936
|
If the element doesn't exist: Raises an exception.
|
|
1937
1937
|
If the attribute doesn't exist: Returns None."""
|
|
1938
|
-
|
|
1938
|
+
if not timeout:
|
|
1939
|
+
timeout = settings.SMALL_TIMEOUT
|
|
1940
|
+
element = self.find_element(selector, timeout=timeout)
|
|
1941
|
+
return element.get_attribute(attribute)
|
|
1939
1942
|
|
|
1940
1943
|
def get_element_html(self, selector, timeout=None):
|
|
1941
1944
|
"""Find an element and return the outerHTML."""
|
|
@@ -327,7 +327,7 @@ class Config:
|
|
|
327
327
|
"ComponentUpdater,NetworkPrediction,"
|
|
328
328
|
"DisableLoadExtensionCommandLineSwitch,WebAuthentication,"
|
|
329
329
|
"OmniboxUIFeedback,OmniboxPopupShortcut,PasskeyAuth,"
|
|
330
|
-
"
|
|
330
|
+
"DialMediaRouteProvider,WebRtcHideLocalIpsWithMdns"
|
|
331
331
|
]
|
|
332
332
|
if self.expert:
|
|
333
333
|
args += [
|
|
@@ -129,6 +129,22 @@ class Tab(Connection):
|
|
|
129
129
|
"""
|
|
130
130
|
browser: cdp_browser.Browser
|
|
131
131
|
_download_behavior: list[str] = None
|
|
132
|
+
_promise_prefixes = (
|
|
133
|
+
"new Promise(",
|
|
134
|
+
"Promise.resolve(",
|
|
135
|
+
"Promise.reject(",
|
|
136
|
+
"Promise.all(",
|
|
137
|
+
"Promise.race(",
|
|
138
|
+
"Promise.allSettled(",
|
|
139
|
+
"Promise.any(",
|
|
140
|
+
"Promise.withResolvers(",
|
|
141
|
+
"fetch(",
|
|
142
|
+
"async ",
|
|
143
|
+
"(async ",
|
|
144
|
+
"await ",
|
|
145
|
+
"(await ",
|
|
146
|
+
"import(",
|
|
147
|
+
)
|
|
132
148
|
|
|
133
149
|
def __init__(
|
|
134
150
|
self,
|
|
@@ -720,6 +736,13 @@ class Tab(Connection):
|
|
|
720
736
|
async def evaluate(
|
|
721
737
|
self, expression: str, await_promise=False, return_by_value=True
|
|
722
738
|
):
|
|
739
|
+
expression = expression.strip()
|
|
740
|
+
if (
|
|
741
|
+
expression
|
|
742
|
+
and not await_promise
|
|
743
|
+
and expression.startswith(self._promise_prefixes)
|
|
744
|
+
):
|
|
745
|
+
await_promise = True
|
|
723
746
|
remote_object, errors = await self.send(
|
|
724
747
|
cdp.runtime.evaluate(
|
|
725
748
|
expression=expression,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.57.0
|
|
4
4
|
Summary: SeleniumBase is a framework for web crawling, scraping, and testing. Supports pytest. CDP Mode adds stealth. Includes many tools.
|
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
|
6
6
|
Author: Michael Mintz
|
|
@@ -58,7 +58,7 @@ Classifier: Topic :: Utilities
|
|
|
58
58
|
Requires-Python: >=3.10
|
|
59
59
|
Description-Content-Type: text/markdown
|
|
60
60
|
License-File: LICENSE
|
|
61
|
-
Requires-Dist: pip>=26.
|
|
61
|
+
Requires-Dist: pip>=26.3
|
|
62
62
|
Requires-Dist: packaging>=26.3
|
|
63
63
|
Requires-Dist: setuptools>=84.2.1
|
|
64
64
|
Requires-Dist: wheel>=0.48.0
|
|
@@ -66,9 +66,9 @@ Requires-Dist: attrs>=26.1.0
|
|
|
66
66
|
Requires-Dist: certifi>=2026.10.23
|
|
67
67
|
Requires-Dist: exceptiongroup>=1.3.1
|
|
68
68
|
Requires-Dist: websockets~=16.1.1; python_version == "3.10"
|
|
69
|
-
Requires-Dist: websockets>=17.
|
|
69
|
+
Requires-Dist: websockets>=17.4; python_version >= "3.11"
|
|
70
70
|
Requires-Dist: filelock==4.1.0; python_version == "3.10"
|
|
71
|
-
Requires-Dist: filelock>=4.2.
|
|
71
|
+
Requires-Dist: filelock>=4.2.7; python_version >= "3.11"
|
|
72
72
|
Requires-Dist: fasteners>=0.20
|
|
73
73
|
Requires-Dist: mycdp>=1.4.0
|
|
74
74
|
Requires-Dist: pynose>=1.5.5
|
|
@@ -93,11 +93,11 @@ Requires-Dist: requests~=2.34.2
|
|
|
93
93
|
Requires-Dist: sniffio==1.3.1
|
|
94
94
|
Requires-Dist: h11==0.16.0
|
|
95
95
|
Requires-Dist: outcome==1.3.0.post0
|
|
96
|
-
Requires-Dist: trio<1,>=0.
|
|
96
|
+
Requires-Dist: trio<1,>=0.35.0
|
|
97
97
|
Requires-Dist: trio-websocket~=0.12.2
|
|
98
98
|
Requires-Dist: wsproto~=1.3.2
|
|
99
99
|
Requires-Dist: websocket-client~=1.9.2
|
|
100
|
-
Requires-Dist: selenium==4.
|
|
100
|
+
Requires-Dist: selenium==4.52.0
|
|
101
101
|
Requires-Dist: cssselect~=1.5.0; python_version < "3.11"
|
|
102
102
|
Requires-Dist: cssselect<2,>=1.6.0; python_version >= "3.11"
|
|
103
103
|
Requires-Dist: sortedcontainers==2.4.0
|
|
@@ -164,7 +164,7 @@ Requires-Dist: pyee>=14.0.0; python_version >= "3.12" and extra == "playwright"
|
|
|
164
164
|
Provides-Extra: pyautogui
|
|
165
165
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
166
166
|
Provides-Extra: uv
|
|
167
|
-
Requires-Dist: uv>=0.13.
|
|
167
|
+
Requires-Dist: uv>=0.13.7; extra == "uv"
|
|
168
168
|
Dynamic: author
|
|
169
169
|
Dynamic: author-email
|
|
170
170
|
Dynamic: classifier
|
|
@@ -191,7 +191,7 @@ Dynamic: summary
|
|
|
191
191
|
|
|
192
192
|
<h1 align="center">📊 SeleniumBase</h1>
|
|
193
193
|
|
|
194
|
-
<h3 align="center">
|
|
194
|
+
<h3 align="center">APIs for Web Scraping, Browser Automation, and E2E Testing.<br /></h3>
|
|
195
195
|
|
|
196
196
|
<p align="center"><b align="center">Includes stealth options for bypassing bot-detection and CAPTCHAs.<br /></b></p>
|
|
197
197
|
|
|
@@ -241,9 +241,9 @@ Dynamic: summary
|
|
|
241
241
|
|
|
242
242
|
--------
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
🐙 <a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md"><a translate="no" href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md"><b>CDP Mode</b></a> bypasses bot-detection and <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/playwright/ReadMe.md">makes <span translate="no">Playwright</span> stealthy</a>.
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
ℹ️ Example scripts that start or end with "<code>test</code>" run with <code><b>pytest</b></code>. Other scripts run directly with raw <code><b>python</b></code> (and start with "<code>raw</code>" to avoid confusion).
|
|
247
247
|
|
|
248
248
|
--------
|
|
249
249
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pip>=26.
|
|
1
|
+
pip>=26.3
|
|
2
2
|
packaging>=26.3
|
|
3
3
|
setuptools>=84.2.1
|
|
4
4
|
wheel>=0.48.0
|
|
@@ -28,11 +28,11 @@ requests~=2.34.2
|
|
|
28
28
|
sniffio==1.3.1
|
|
29
29
|
h11==0.16.0
|
|
30
30
|
outcome==1.3.0.post0
|
|
31
|
-
trio<1,>=0.
|
|
31
|
+
trio<1,>=0.35.0
|
|
32
32
|
trio-websocket~=0.12.2
|
|
33
33
|
wsproto~=1.3.2
|
|
34
34
|
websocket-client~=1.9.2
|
|
35
|
-
selenium==4.
|
|
35
|
+
selenium==4.52.0
|
|
36
36
|
sortedcontainers==2.4.0
|
|
37
37
|
execnet==2.1.2
|
|
38
38
|
iniconfig~=2.3.1
|
|
@@ -69,8 +69,8 @@ filelock==4.1.0
|
|
|
69
69
|
pytest-rerunfailures==16.3
|
|
70
70
|
|
|
71
71
|
[:python_version >= "3.11"]
|
|
72
|
-
websockets>=17.
|
|
73
|
-
filelock>=4.2.
|
|
72
|
+
websockets>=17.4
|
|
73
|
+
filelock>=4.2.7
|
|
74
74
|
cssselect<2,>=1.6.0
|
|
75
75
|
pluggy<1.8,>=1.6.0
|
|
76
76
|
pytest==9.1.1
|
|
@@ -154,4 +154,4 @@ proxy.py==2.4.3
|
|
|
154
154
|
PyAutoGUI>=0.9.54
|
|
155
155
|
|
|
156
156
|
[uv]
|
|
157
|
-
uv>=0.13.
|
|
157
|
+
uv>=0.13.7
|
|
@@ -164,7 +164,7 @@ setup(
|
|
|
164
164
|
],
|
|
165
165
|
python_requires=">=3.10",
|
|
166
166
|
install_requires=[
|
|
167
|
-
'pip>=26.
|
|
167
|
+
'pip>=26.3',
|
|
168
168
|
'packaging>=26.3',
|
|
169
169
|
'setuptools>=84.2.1',
|
|
170
170
|
'wheel>=0.48.0',
|
|
@@ -172,9 +172,9 @@ setup(
|
|
|
172
172
|
'certifi>=2026.10.23',
|
|
173
173
|
'exceptiongroup>=1.3.1',
|
|
174
174
|
'websockets~=16.1.1;python_version=="3.10"',
|
|
175
|
-
'websockets>=17.
|
|
175
|
+
'websockets>=17.4;python_version>="3.11"',
|
|
176
176
|
'filelock==4.1.0;python_version=="3.10"',
|
|
177
|
-
'filelock>=4.2.
|
|
177
|
+
'filelock>=4.2.7;python_version>="3.11"',
|
|
178
178
|
'fasteners>=0.20',
|
|
179
179
|
'mycdp>=1.4.0',
|
|
180
180
|
'pynose>=1.5.5',
|
|
@@ -199,11 +199,11 @@ setup(
|
|
|
199
199
|
'sniffio==1.3.1',
|
|
200
200
|
'h11==0.16.0',
|
|
201
201
|
'outcome==1.3.0.post0',
|
|
202
|
-
'trio>=0.
|
|
202
|
+
'trio>=0.35.0,<1',
|
|
203
203
|
'trio-websocket~=0.12.2',
|
|
204
204
|
'wsproto~=1.3.2',
|
|
205
205
|
'websocket-client~=1.9.2',
|
|
206
|
-
'selenium==4.
|
|
206
|
+
'selenium==4.52.0',
|
|
207
207
|
'cssselect~=1.5.0;python_version<"3.11"',
|
|
208
208
|
'cssselect>=1.6.0,<2;python_version>="3.11"',
|
|
209
209
|
'sortedcontainers==2.4.0',
|
|
@@ -312,7 +312,7 @@ setup(
|
|
|
312
312
|
# pip install -e .[uv]
|
|
313
313
|
# (For the MCP integration and more.)
|
|
314
314
|
"uv": [
|
|
315
|
-
"uv>=0.13.
|
|
315
|
+
"uv>=0.13.7"
|
|
316
316
|
],
|
|
317
317
|
},
|
|
318
318
|
packages=[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.56.5 → seleniumbase-4.57.0}/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.56.5 → seleniumbase-4.57.0}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/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
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
|
File without changes
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
|
File without changes
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
|
File without changes
|
|
File without changes
|
{seleniumbase-4.56.5 → seleniumbase-4.57.0}/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
|