seleniumbase 4.54.6__tar.gz → 4.54.7__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.54.6/seleniumbase.egg-info → seleniumbase-4.54.7}/PKG-INFO +6 -6
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/mcp_servers/server.py +21 -16
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/requirements.txt +2 -2
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.54.6 → seleniumbase-4.54.7/seleniumbase.egg-info}/PKG-INFO +6 -6
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase.egg-info/requires.txt +5 -5
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/setup.py +5 -5
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/.gitignore +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/LICENSE +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/MANIFEST.in +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/README.md +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/install.sh +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/mcp_servers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/pyproject.toml +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/pytest.ini +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/sbase/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/sbase/__main__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/sbase/steps.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/browser_launcher.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/nest_asyncio.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/sb_cdp.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/base_case.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/setup.cfg +0 -0
- {seleniumbase-4.54.6 → seleniumbase-4.54.7}/virtualenv_install.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.54.
|
|
3
|
+
Version: 4.54.7
|
|
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
|
|
@@ -67,7 +67,7 @@ Requires-Dist: certifi>=2026.7.22
|
|
|
67
67
|
Requires-Dist: exceptiongroup>=1.3.1
|
|
68
68
|
Requires-Dist: websockets~=16.1.1; python_version == "3.10"
|
|
69
69
|
Requires-Dist: websockets>=16.1.1; python_version >= "3.11"
|
|
70
|
-
Requires-Dist: filelock>=3.32.
|
|
70
|
+
Requires-Dist: filelock>=3.32.7
|
|
71
71
|
Requires-Dist: fasteners>=0.20
|
|
72
72
|
Requires-Dist: mycdp>=1.4.0
|
|
73
73
|
Requires-Dist: pynose>=1.5.5
|
|
@@ -88,7 +88,7 @@ Requires-Dist: tabcompleter>=1.4.1
|
|
|
88
88
|
Requires-Dist: pdbp>=1.8.2
|
|
89
89
|
Requires-Dist: idna>=3.19
|
|
90
90
|
Requires-Dist: charset-normalizer<4,>=3.5.1
|
|
91
|
-
Requires-Dist: urllib3<3,>=2.
|
|
91
|
+
Requires-Dist: urllib3<3,>=2.8.0
|
|
92
92
|
Requires-Dist: requests~=2.34.2
|
|
93
93
|
Requires-Dist: sniffio==1.3.1
|
|
94
94
|
Requires-Dist: h11==0.16.0
|
|
@@ -149,13 +149,13 @@ Requires-Dist: pip-system-certs>=4.0; platform_system == "Windows" and extra ==
|
|
|
149
149
|
Provides-Extra: proxy
|
|
150
150
|
Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
|
151
151
|
Provides-Extra: playwright
|
|
152
|
-
Requires-Dist: playwright>=1.
|
|
153
|
-
Requires-Dist: greenlet>=3.5.
|
|
152
|
+
Requires-Dist: playwright>=1.63.0; extra == "playwright"
|
|
153
|
+
Requires-Dist: greenlet>=3.5.6; extra == "playwright"
|
|
154
154
|
Requires-Dist: pyee>=13.0.1; extra == "playwright"
|
|
155
155
|
Provides-Extra: pyautogui
|
|
156
156
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
157
157
|
Provides-Extra: uv
|
|
158
|
-
Requires-Dist: uv>=0.12.
|
|
158
|
+
Requires-Dist: uv>=0.12.15; extra == "uv"
|
|
159
159
|
Dynamic: author
|
|
160
160
|
Dynamic: author-email
|
|
161
161
|
Dynamic: classifier
|
|
@@ -588,10 +588,7 @@ def get_content(
|
|
|
588
588
|
output_format: Literal["text", "html", "urls"] = "text",
|
|
589
589
|
timeout: float = 5,
|
|
590
590
|
) -> str | list[str]:
|
|
591
|
-
"""
|
|
592
|
-
|
|
593
|
-
Use this tool when you need to get actual page content or URL information
|
|
594
|
-
rather than page metadata.
|
|
591
|
+
"""Get visible text, HTML, or discovered URLs from the selected element.
|
|
595
592
|
|
|
596
593
|
Args:
|
|
597
594
|
selector: CSS selector or SeleniumBase-supported XPath selector.
|
|
@@ -670,9 +667,6 @@ def get_attributes(
|
|
|
670
667
|
- Need to check element presence/visibility ->
|
|
671
668
|
use 'check_if_condition'.
|
|
672
669
|
|
|
673
|
-
This is a read-only operation: It finds elements to get the requested data,
|
|
674
|
-
but it does not make any modifications to those elements.
|
|
675
|
-
|
|
676
670
|
If there's no matching element found within the timeout,
|
|
677
671
|
then @handle_sb_errors returns details from the exception raised.
|
|
678
672
|
"""
|
|
@@ -1625,10 +1619,18 @@ def scroll_page(
|
|
|
1625
1619
|
# Windows & tabs
|
|
1626
1620
|
# ---------------------------------------------------------------------------
|
|
1627
1621
|
|
|
1628
|
-
@mcp.tool(
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1622
|
+
@mcp.tool(
|
|
1623
|
+
title="Manage Window",
|
|
1624
|
+
annotations=ToolAnnotations(
|
|
1625
|
+
destructive_hint=False,
|
|
1626
|
+
idempotent_hint=True,
|
|
1627
|
+
open_world_hint=False,
|
|
1628
|
+
),
|
|
1629
|
+
)
|
|
1630
|
+
# The 'read_only_hint' annotation has been intentionally omitted:
|
|
1631
|
+
# 'get_rect' is a pure read while
|
|
1632
|
+
# 'set_rect'/'maximize'/'minimize' modify window state.
|
|
1633
|
+
# There's no single 'read_only_hint' value that's accurate for the whole tool.
|
|
1632
1634
|
@handle_sb_errors
|
|
1633
1635
|
def manage_window(
|
|
1634
1636
|
action: Literal[
|
|
@@ -1808,10 +1810,8 @@ def solve_captcha() -> str:
|
|
|
1808
1810
|
"""Attempt a SeleniumBase CDP-based CAPTCHA interaction, such as clicking
|
|
1809
1811
|
a CAPTCHA checkbox, or performing a drag/drop action on a slider CAPTCHA.
|
|
1810
1812
|
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
the Chrome DevTools Protocol (CDP), which is usually stealthier than
|
|
1814
|
-
JavaScript because CDP actions can avoid triggering `isTrusted: false`.
|
|
1813
|
+
Supported CAPTCHAs include: Cloudflare Turnstile, reCAPTCHA, hCaptcha,
|
|
1814
|
+
DataDome Slider, and FriendlyCaptcha.
|
|
1815
1815
|
|
|
1816
1816
|
This tool automatically detects the coordinates of CAPTCHA checkboxes
|
|
1817
1817
|
for determining the correct location to perform the click. If no CAPTCHA
|
|
@@ -1830,8 +1830,13 @@ def solve_captcha() -> str:
|
|
|
1830
1830
|
or 'manage_cookies' to inspect resulting page/session state.
|
|
1831
1831
|
|
|
1832
1832
|
Returns:
|
|
1833
|
-
A message
|
|
1833
|
+
A confirmation message of the CAPTCHA interaction.
|
|
1834
1834
|
The message is the same for both successful and failed attempts.
|
|
1835
|
+
|
|
1836
|
+
Notes:
|
|
1837
|
+
Clicking with the Chrome DevTools Protocol (CDP) is generally
|
|
1838
|
+
stealthier than clicking with JavaScript because CDP actions
|
|
1839
|
+
can avoid triggering `isTrusted: false`.
|
|
1835
1840
|
"""
|
|
1836
1841
|
sb = _get_sb()
|
|
1837
1842
|
sb.solve_captcha()
|
|
@@ -7,7 +7,7 @@ certifi>=2026.7.22
|
|
|
7
7
|
exceptiongroup>=1.3.1
|
|
8
8
|
websockets~=16.1.1;python_version=="3.10"
|
|
9
9
|
websockets>=16.1.1;python_version>="3.11"
|
|
10
|
-
filelock>=3.32.
|
|
10
|
+
filelock>=3.32.7
|
|
11
11
|
fasteners>=0.20
|
|
12
12
|
mycdp>=1.4.0
|
|
13
13
|
pynose>=1.5.5
|
|
@@ -28,7 +28,7 @@ tabcompleter>=1.4.1
|
|
|
28
28
|
pdbp>=1.8.2
|
|
29
29
|
idna>=3.19
|
|
30
30
|
charset-normalizer>=3.5.1,<4
|
|
31
|
-
urllib3>=2.
|
|
31
|
+
urllib3>=2.8.0,<3
|
|
32
32
|
requests~=2.34.2
|
|
33
33
|
sniffio==1.3.1
|
|
34
34
|
h11==0.16.0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.54.
|
|
2
|
+
__version__ = "4.54.7"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.54.
|
|
3
|
+
Version: 4.54.7
|
|
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
|
|
@@ -67,7 +67,7 @@ Requires-Dist: certifi>=2026.7.22
|
|
|
67
67
|
Requires-Dist: exceptiongroup>=1.3.1
|
|
68
68
|
Requires-Dist: websockets~=16.1.1; python_version == "3.10"
|
|
69
69
|
Requires-Dist: websockets>=16.1.1; python_version >= "3.11"
|
|
70
|
-
Requires-Dist: filelock>=3.32.
|
|
70
|
+
Requires-Dist: filelock>=3.32.7
|
|
71
71
|
Requires-Dist: fasteners>=0.20
|
|
72
72
|
Requires-Dist: mycdp>=1.4.0
|
|
73
73
|
Requires-Dist: pynose>=1.5.5
|
|
@@ -88,7 +88,7 @@ Requires-Dist: tabcompleter>=1.4.1
|
|
|
88
88
|
Requires-Dist: pdbp>=1.8.2
|
|
89
89
|
Requires-Dist: idna>=3.19
|
|
90
90
|
Requires-Dist: charset-normalizer<4,>=3.5.1
|
|
91
|
-
Requires-Dist: urllib3<3,>=2.
|
|
91
|
+
Requires-Dist: urllib3<3,>=2.8.0
|
|
92
92
|
Requires-Dist: requests~=2.34.2
|
|
93
93
|
Requires-Dist: sniffio==1.3.1
|
|
94
94
|
Requires-Dist: h11==0.16.0
|
|
@@ -149,13 +149,13 @@ Requires-Dist: pip-system-certs>=4.0; platform_system == "Windows" and extra ==
|
|
|
149
149
|
Provides-Extra: proxy
|
|
150
150
|
Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
|
151
151
|
Provides-Extra: playwright
|
|
152
|
-
Requires-Dist: playwright>=1.
|
|
153
|
-
Requires-Dist: greenlet>=3.5.
|
|
152
|
+
Requires-Dist: playwright>=1.63.0; extra == "playwright"
|
|
153
|
+
Requires-Dist: greenlet>=3.5.6; extra == "playwright"
|
|
154
154
|
Requires-Dist: pyee>=13.0.1; extra == "playwright"
|
|
155
155
|
Provides-Extra: pyautogui
|
|
156
156
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
157
157
|
Provides-Extra: uv
|
|
158
|
-
Requires-Dist: uv>=0.12.
|
|
158
|
+
Requires-Dist: uv>=0.12.15; extra == "uv"
|
|
159
159
|
Dynamic: author
|
|
160
160
|
Dynamic: author-email
|
|
161
161
|
Dynamic: classifier
|
|
@@ -5,7 +5,7 @@ wheel>=0.48.0
|
|
|
5
5
|
attrs>=26.1.0
|
|
6
6
|
certifi>=2026.7.22
|
|
7
7
|
exceptiongroup>=1.3.1
|
|
8
|
-
filelock>=3.32.
|
|
8
|
+
filelock>=3.32.7
|
|
9
9
|
fasteners>=0.20
|
|
10
10
|
mycdp>=1.4.0
|
|
11
11
|
pynose>=1.5.5
|
|
@@ -25,7 +25,7 @@ tabcompleter>=1.4.1
|
|
|
25
25
|
pdbp>=1.8.2
|
|
26
26
|
idna>=3.19
|
|
27
27
|
charset-normalizer<4,>=3.5.1
|
|
28
|
-
urllib3<3,>=2.
|
|
28
|
+
urllib3<3,>=2.8.0
|
|
29
29
|
requests~=2.34.2
|
|
30
30
|
sniffio==1.3.1
|
|
31
31
|
h11==0.16.0
|
|
@@ -108,8 +108,8 @@ Pillow>=12.3.0
|
|
|
108
108
|
pip-system-certs>=4.0
|
|
109
109
|
|
|
110
110
|
[playwright]
|
|
111
|
-
playwright>=1.
|
|
112
|
-
greenlet>=3.5.
|
|
111
|
+
playwright>=1.63.0
|
|
112
|
+
greenlet>=3.5.6
|
|
113
113
|
pyee>=13.0.1
|
|
114
114
|
|
|
115
115
|
[proxy]
|
|
@@ -121,4 +121,4 @@ proxy.py==2.4.3
|
|
|
121
121
|
PyAutoGUI>=0.9.54
|
|
122
122
|
|
|
123
123
|
[uv]
|
|
124
|
-
uv>=0.12.
|
|
124
|
+
uv>=0.12.15
|
|
@@ -173,7 +173,7 @@ setup(
|
|
|
173
173
|
'exceptiongroup>=1.3.1',
|
|
174
174
|
'websockets~=16.1.1;python_version=="3.10"',
|
|
175
175
|
'websockets>=16.1.1;python_version>="3.11"',
|
|
176
|
-
'filelock>=3.32.
|
|
176
|
+
'filelock>=3.32.7',
|
|
177
177
|
'fasteners>=0.20',
|
|
178
178
|
'mycdp>=1.4.0',
|
|
179
179
|
'pynose>=1.5.5',
|
|
@@ -194,7 +194,7 @@ setup(
|
|
|
194
194
|
'pdbp>=1.8.2',
|
|
195
195
|
'idna>=3.19',
|
|
196
196
|
'charset-normalizer>=3.5.1,<4',
|
|
197
|
-
'urllib3>=2.
|
|
197
|
+
'urllib3>=2.8.0,<3',
|
|
198
198
|
'requests~=2.34.2',
|
|
199
199
|
'sniffio==1.3.1',
|
|
200
200
|
'h11==0.16.0',
|
|
@@ -290,8 +290,8 @@ setup(
|
|
|
290
290
|
# pip install -e .[playwright]
|
|
291
291
|
# (For the Playwright integration.)
|
|
292
292
|
"playwright": [
|
|
293
|
-
'playwright>=1.
|
|
294
|
-
'greenlet>=3.5.
|
|
293
|
+
'playwright>=1.63.0',
|
|
294
|
+
'greenlet>=3.5.6',
|
|
295
295
|
'pyee>=13.0.1',
|
|
296
296
|
],
|
|
297
297
|
# pip install -e .[pyautogui]
|
|
@@ -303,7 +303,7 @@ setup(
|
|
|
303
303
|
# Required for local MCP server debugging with:
|
|
304
304
|
# mcp dev server.py
|
|
305
305
|
"uv": [
|
|
306
|
-
"uv>=0.12.
|
|
306
|
+
"uv>=0.12.15"
|
|
307
307
|
],
|
|
308
308
|
},
|
|
309
309
|
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
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/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.54.6 → seleniumbase-4.54.7}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/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.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
|
File without changes
|
|
File without changes
|
{seleniumbase-4.54.6 → seleniumbase-4.54.7}/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
|