seleniumbase 4.56.2__tar.gz → 4.56.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {seleniumbase-4.56.2/seleniumbase.egg-info → seleniumbase-4.56.4}/PKG-INFO +28 -22
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/README.md +10 -7
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/requirements.txt +9 -8
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/sb_cdp.py +1 -1
- {seleniumbase-4.56.2 → seleniumbase-4.56.4/seleniumbase.egg-info}/PKG-INFO +28 -22
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/requires.txt +27 -12
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/setup.py +17 -14
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/.gitignore +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/LICENSE +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/MANIFEST.in +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/install.sh +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/mcp_servers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/mcp_servers/server.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/pyproject.toml +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/pytest.ini +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/sbase/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/sbase/__main__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/sbase/steps.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/settings.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/browser_launcher.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/nest_asyncio.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/settings_parser.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/base_case.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/setup.cfg +0 -0
- {seleniumbase-4.56.2 → seleniumbase-4.56.4}/virtualenv_install.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.56.
|
|
3
|
+
Version: 4.56.4
|
|
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,17 +58,17 @@ 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.2.
|
|
61
|
+
Requires-Dist: pip>=26.2.2
|
|
62
62
|
Requires-Dist: packaging>=26.3
|
|
63
|
-
Requires-Dist: setuptools>=84.
|
|
63
|
+
Requires-Dist: setuptools>=84.2.1
|
|
64
64
|
Requires-Dist: wheel>=0.48.0
|
|
65
65
|
Requires-Dist: attrs>=26.1.0
|
|
66
|
-
Requires-Dist: certifi>=2026.
|
|
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>=
|
|
69
|
+
Requires-Dist: websockets>=17.3; 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.4; 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
|
|
@@ -77,7 +77,7 @@ Requires-Dist: sbvirtualdisplay>=1.4.0
|
|
|
77
77
|
Requires-Dist: MarkupSafe>=3.0.4
|
|
78
78
|
Requires-Dist: Jinja2>=3.1.6
|
|
79
79
|
Requires-Dist: six>=1.17.0
|
|
80
|
-
Requires-Dist: parse>=1.22.
|
|
80
|
+
Requires-Dist: parse>=1.22.4
|
|
81
81
|
Requires-Dist: parse-type>=0.6.6
|
|
82
82
|
Requires-Dist: colorama>=0.4.6
|
|
83
83
|
Requires-Dist: psutil>=7.2.2
|
|
@@ -116,7 +116,7 @@ Requires-Dist: pytest-xdist==3.8.0
|
|
|
116
116
|
Requires-Dist: parameterized==0.9.0
|
|
117
117
|
Requires-Dist: behave==1.2.6
|
|
118
118
|
Requires-Dist: soupsieve~=2.10.0; python_version < "3.11.5"
|
|
119
|
-
Requires-Dist: soupsieve~=3.0.
|
|
119
|
+
Requires-Dist: soupsieve~=3.0.4; python_version >= "3.11.5"
|
|
120
120
|
Requires-Dist: beautifulsoup4~=4.15.0
|
|
121
121
|
Requires-Dist: pyotp~=2.10.0
|
|
122
122
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
|
@@ -129,7 +129,8 @@ Requires-Dist: allure-pytest>=2.16.0; extra == "allure"
|
|
|
129
129
|
Requires-Dist: allure-python-commons>=2.16.0; extra == "allure"
|
|
130
130
|
Requires-Dist: allure-behave>=2.16.0; extra == "allure"
|
|
131
131
|
Provides-Extra: coverage
|
|
132
|
-
Requires-Dist: coverage>=7.16.2; extra == "coverage"
|
|
132
|
+
Requires-Dist: coverage>=7.16.2; python_version == "3.10" and extra == "coverage"
|
|
133
|
+
Requires-Dist: coverage>=7.17.0; python_version >= "3.11" and extra == "coverage"
|
|
133
134
|
Requires-Dist: pytest-cov>=7.1.0; extra == "coverage"
|
|
134
135
|
Provides-Extra: flake8
|
|
135
136
|
Requires-Dist: flake8==7.4.1; extra == "flake8"
|
|
@@ -142,24 +143,26 @@ Provides-Extra: mss
|
|
|
142
143
|
Requires-Dist: mss==10.2.0; extra == "mss"
|
|
143
144
|
Provides-Extra: pdfminer
|
|
144
145
|
Requires-Dist: pdfminer.six==20260107; extra == "pdfminer"
|
|
145
|
-
Requires-Dist: cryptography
|
|
146
|
-
Requires-Dist: cffi
|
|
147
|
-
Requires-Dist: pycparser==3.11; extra == "pdfminer"
|
|
146
|
+
Requires-Dist: cryptography~=50.0.2; extra == "pdfminer"
|
|
147
|
+
Requires-Dist: cffi~=2.1.1; extra == "pdfminer"
|
|
148
|
+
Requires-Dist: pycparser==3.11; python_version == "3.10" and extra == "pdfminer"
|
|
149
|
+
Requires-Dist: pycparser~=3.12; python_version >= "3.11" and extra == "pdfminer"
|
|
148
150
|
Provides-Extra: pillow
|
|
149
|
-
Requires-Dist: Pillow>=12.3.0; extra == "pillow"
|
|
151
|
+
Requires-Dist: Pillow>=12.3.0; python_version == "3.10" and extra == "pillow"
|
|
152
|
+
Requires-Dist: Pillow>=13.0.0; python_version >= "3.11" and extra == "pillow"
|
|
150
153
|
Provides-Extra: pip-system-certs
|
|
151
154
|
Requires-Dist: pip-system-certs>=4.0; platform_system == "Windows" and extra == "pip-system-certs"
|
|
152
155
|
Provides-Extra: proxy
|
|
153
156
|
Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
|
154
157
|
Provides-Extra: playwright
|
|
155
|
-
Requires-Dist: playwright>=1.64.
|
|
158
|
+
Requires-Dist: playwright>=1.64.1; extra == "playwright"
|
|
156
159
|
Requires-Dist: greenlet>=3.5.6; extra == "playwright"
|
|
157
160
|
Requires-Dist: pyee>=13.0.1; python_version < "3.12" and extra == "playwright"
|
|
158
161
|
Requires-Dist: pyee>=14.0.0; python_version >= "3.12" and extra == "playwright"
|
|
159
162
|
Provides-Extra: pyautogui
|
|
160
163
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
161
164
|
Provides-Extra: uv
|
|
162
|
-
Requires-Dist: uv>=0.13.
|
|
165
|
+
Requires-Dist: uv>=0.13.5; extra == "uv"
|
|
163
166
|
Dynamic: author
|
|
164
167
|
Dynamic: author-email
|
|
165
168
|
Dynamic: classifier
|
|
@@ -190,11 +193,14 @@ Dynamic: summary
|
|
|
190
193
|
|
|
191
194
|
<p align="center"><b align="center">Includes stealth options for bypassing bot-detection and CAPTCHAs.<br /></b></p>
|
|
192
195
|
|
|
193
|
-
<p align="center"
|
|
194
|
-
|
|
195
|
-
|
|
196
|
+
<p align="center">
|
|
197
|
+
<a href="https://pypi.python.org/pypi/seleniumbase" target="_blank" rel="noopener"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?style=flat-square&color=3399EE" alt="PyPI version" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank" rel="noopener"><img src="https://img.shields.io/github/actions/workflow/status/seleniumbase/SeleniumBase/python-package.yml?branch=master&style=flat-square&label=CI" alt="SeleniumBase GitHub Actions" height="20" /></a> <a href="https://seleniumbase.io" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg?style=flat-square" alt="SeleniumBase Docs" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-33A6C6.svg?style=flat-square" title="SeleniumBase" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/tree/master/mcp_servers" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/MCP-tool_catalog-7C6EE5?style=flat-square" height="20" /></a> <a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank" rel="noopener"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" /></a><br />
|
|
198
|
+
<a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-📺-D844E8.svg?style=flat-square&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a> <a href="https://www.facebook.com/SeleniumBase/" target="_blank" rel="noopener"> <img src="https://img.shields.io/badge/Facebook-4K_followers-1877F2?style=flat-square&logo=facebook&logoColor=white" alt="SeleniumBase Facebook Followers" height="20" /></a> <a href="https://x.com/seleniumbase" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/-1K_followers-1DA1F2?style=flat-square&logo=x&logoColor=white&labelColor=555555" alt="SeleniumBase X Followers" height="20" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank" rel="noopener"><img src="https://img.shields.io/discord/727927627830001734?style=flat-square&color=7289DA&label=Discord&logo=discord&logoColor=white" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase" target="_blank" rel="noopener"><img src="https://badgen.net/github/stars/seleniumbase/SeleniumBase" title="Stars" height="20" /></a>
|
|
199
|
+
</p>
|
|
196
200
|
|
|
197
|
-
<p align="center"
|
|
201
|
+
<p align="center">
|
|
202
|
+
<a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-12493" target="_blank" rel="noopener"><img src="https://trendshift.io/api/badge/repositories/12493" alt="seleniumbase%2SeleniumBase | Trendshift" width="250" height="55"/></a>
|
|
203
|
+
</p>
|
|
198
204
|
|
|
199
205
|
<p align="center">
|
|
200
206
|
<a href="#python_installation">🚀 Start</a> |
|
|
@@ -305,8 +311,8 @@ python raw_cdp_planetmc.py
|
|
|
305
311
|
from seleniumbase import sb_cdp
|
|
306
312
|
|
|
307
313
|
sb = sb_cdp.Chrome(fast=True)
|
|
308
|
-
sb.goto("https://
|
|
309
|
-
elements = sb.find_elements("
|
|
314
|
+
sb.goto("https://hn.algolia.com/?query=seleniumbase")
|
|
315
|
+
elements = sb.find_elements("div.Story_title > a")
|
|
310
316
|
for element in elements:
|
|
311
317
|
print("* " + element.text)
|
|
312
318
|
```
|
|
@@ -1712,4 +1718,4 @@ pytest --reruns=1 --reruns-delay=1
|
|
|
1712
1718
|
<div><a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22BBCC.svg" title="SeleniumBase" height="20" /></a> </div>
|
|
1713
1719
|
<div align="left"></div>
|
|
1714
1720
|
<div><a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank" rel="noopener"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank" rel="noopener"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white" height="20" /></a></div>
|
|
1715
|
-
<div><a href="https://www.youtube.com/@MichaelMintz" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-MichaelMintz-
|
|
1721
|
+
<div><a href="https://www.youtube.com/@MichaelMintz" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-MichaelMintz-DD3355.svg?style=flat&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a></div>
|
|
@@ -14,11 +14,14 @@
|
|
|
14
14
|
|
|
15
15
|
<p align="center"><b align="center">Includes stealth options for bypassing bot-detection and CAPTCHAs.<br /></b></p>
|
|
16
16
|
|
|
17
|
-
<p align="center"
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
<p align="center">
|
|
18
|
+
<a href="https://pypi.python.org/pypi/seleniumbase" target="_blank" rel="noopener"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?style=flat-square&color=3399EE" alt="PyPI version" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank" rel="noopener"><img src="https://img.shields.io/github/actions/workflow/status/seleniumbase/SeleniumBase/python-package.yml?branch=master&style=flat-square&label=CI" alt="SeleniumBase GitHub Actions" height="20" /></a> <a href="https://seleniumbase.io" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg?style=flat-square" alt="SeleniumBase Docs" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-33A6C6.svg?style=flat-square" title="SeleniumBase" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/tree/master/mcp_servers" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/MCP-tool_catalog-7C6EE5?style=flat-square" height="20" /></a> <a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank" rel="noopener"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" /></a><br />
|
|
19
|
+
<a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-📺-D844E8.svg?style=flat-square&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a> <a href="https://www.facebook.com/SeleniumBase/" target="_blank" rel="noopener"> <img src="https://img.shields.io/badge/Facebook-4K_followers-1877F2?style=flat-square&logo=facebook&logoColor=white" alt="SeleniumBase Facebook Followers" height="20" /></a> <a href="https://x.com/seleniumbase" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/-1K_followers-1DA1F2?style=flat-square&logo=x&logoColor=white&labelColor=555555" alt="SeleniumBase X Followers" height="20" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank" rel="noopener"><img src="https://img.shields.io/discord/727927627830001734?style=flat-square&color=7289DA&label=Discord&logo=discord&logoColor=white" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase" target="_blank" rel="noopener"><img src="https://badgen.net/github/stars/seleniumbase/SeleniumBase" title="Stars" height="20" /></a>
|
|
20
|
+
</p>
|
|
20
21
|
|
|
21
|
-
<p align="center"
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-12493" target="_blank" rel="noopener"><img src="https://trendshift.io/api/badge/repositories/12493" alt="seleniumbase%2SeleniumBase | Trendshift" width="250" height="55"/></a>
|
|
24
|
+
</p>
|
|
22
25
|
|
|
23
26
|
<p align="center">
|
|
24
27
|
<a href="#python_installation">🚀 Start</a> |
|
|
@@ -129,8 +132,8 @@ python raw_cdp_planetmc.py
|
|
|
129
132
|
from seleniumbase import sb_cdp
|
|
130
133
|
|
|
131
134
|
sb = sb_cdp.Chrome(fast=True)
|
|
132
|
-
sb.goto("https://
|
|
133
|
-
elements = sb.find_elements("
|
|
135
|
+
sb.goto("https://hn.algolia.com/?query=seleniumbase")
|
|
136
|
+
elements = sb.find_elements("div.Story_title > a")
|
|
134
137
|
for element in elements:
|
|
135
138
|
print("* " + element.text)
|
|
136
139
|
```
|
|
@@ -1536,4 +1539,4 @@ pytest --reruns=1 --reruns-delay=1
|
|
|
1536
1539
|
<div><a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22BBCC.svg" title="SeleniumBase" height="20" /></a> </div>
|
|
1537
1540
|
<div align="left"></div>
|
|
1538
1541
|
<div><a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank" rel="noopener"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank" rel="noopener"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white" height="20" /></a></div>
|
|
1539
|
-
<div><a href="https://www.youtube.com/@MichaelMintz" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-MichaelMintz-
|
|
1542
|
+
<div><a href="https://www.youtube.com/@MichaelMintz" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-MichaelMintz-DD3355.svg?style=flat&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a></div>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
pip>=26.2.
|
|
1
|
+
pip>=26.2.2
|
|
2
2
|
packaging>=26.3
|
|
3
|
-
setuptools>=84.
|
|
3
|
+
setuptools>=84.2.1
|
|
4
4
|
wheel>=0.48.0
|
|
5
5
|
attrs>=26.1.0
|
|
6
|
-
certifi>=2026.
|
|
6
|
+
certifi>=2026.10.23
|
|
7
7
|
exceptiongroup>=1.3.1
|
|
8
8
|
websockets~=16.1.1;python_version=="3.10"
|
|
9
|
-
websockets>=
|
|
9
|
+
websockets>=17.3;python_version>="3.11"
|
|
10
10
|
filelock==4.1.0;python_version=="3.10"
|
|
11
|
-
filelock>=4.2.
|
|
11
|
+
filelock>=4.2.4;python_version>="3.11"
|
|
12
12
|
fasteners>=0.20
|
|
13
13
|
mycdp>=1.4.0
|
|
14
14
|
pynose>=1.5.5
|
|
@@ -17,7 +17,7 @@ sbvirtualdisplay>=1.4.0
|
|
|
17
17
|
MarkupSafe>=3.0.4
|
|
18
18
|
Jinja2>=3.1.6
|
|
19
19
|
six>=1.17.0
|
|
20
|
-
parse>=1.22.
|
|
20
|
+
parse>=1.22.4
|
|
21
21
|
parse-type>=0.6.6
|
|
22
22
|
colorama>=0.4.6
|
|
23
23
|
psutil>=7.2.2
|
|
@@ -56,7 +56,7 @@ pytest-xdist==3.8.0
|
|
|
56
56
|
parameterized==0.9.0
|
|
57
57
|
behave==1.2.6
|
|
58
58
|
soupsieve~=2.10.0;python_version<"3.11.5"
|
|
59
|
-
soupsieve~=3.0.
|
|
59
|
+
soupsieve~=3.0.4;python_version>="3.11.5"
|
|
60
60
|
beautifulsoup4~=4.15.0
|
|
61
61
|
pyotp~=2.10.0
|
|
62
62
|
python-xlib==0.33;platform_system=="Linux"
|
|
@@ -68,7 +68,8 @@ rich>=15.0.0,<16
|
|
|
68
68
|
# --- Testing Requirements --- #
|
|
69
69
|
# ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.)
|
|
70
70
|
|
|
71
|
-
coverage>=7.16.2
|
|
71
|
+
coverage>=7.16.2;python_version=="3.10"
|
|
72
|
+
coverage>=7.17.0;python_version>="3.11"
|
|
72
73
|
pytest-cov>=7.1.0
|
|
73
74
|
flake8==7.4.1
|
|
74
75
|
mccabe==0.7.0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.56.
|
|
2
|
+
__version__ = "4.56.4"
|
|
@@ -1600,7 +1600,7 @@ class CDPMethods():
|
|
|
1600
1600
|
pre_tab_url = tab_url.split("/page/")[0] + "/page/"
|
|
1601
1601
|
new_tab_url = pre_tab_url + target_id
|
|
1602
1602
|
new_tab = cdp_tab.Tab(new_tab_url, found_target, driver)
|
|
1603
|
-
driver.targets.append(new_tab)
|
|
1603
|
+
# driver.targets.append(new_tab) # (Caused Issue #4533)
|
|
1604
1604
|
driver.tabs.append(new_tab)
|
|
1605
1605
|
if switch_to:
|
|
1606
1606
|
self.switch_to_newest_tab()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.56.
|
|
3
|
+
Version: 4.56.4
|
|
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,17 +58,17 @@ 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.2.
|
|
61
|
+
Requires-Dist: pip>=26.2.2
|
|
62
62
|
Requires-Dist: packaging>=26.3
|
|
63
|
-
Requires-Dist: setuptools>=84.
|
|
63
|
+
Requires-Dist: setuptools>=84.2.1
|
|
64
64
|
Requires-Dist: wheel>=0.48.0
|
|
65
65
|
Requires-Dist: attrs>=26.1.0
|
|
66
|
-
Requires-Dist: certifi>=2026.
|
|
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>=
|
|
69
|
+
Requires-Dist: websockets>=17.3; 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.4; 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
|
|
@@ -77,7 +77,7 @@ Requires-Dist: sbvirtualdisplay>=1.4.0
|
|
|
77
77
|
Requires-Dist: MarkupSafe>=3.0.4
|
|
78
78
|
Requires-Dist: Jinja2>=3.1.6
|
|
79
79
|
Requires-Dist: six>=1.17.0
|
|
80
|
-
Requires-Dist: parse>=1.22.
|
|
80
|
+
Requires-Dist: parse>=1.22.4
|
|
81
81
|
Requires-Dist: parse-type>=0.6.6
|
|
82
82
|
Requires-Dist: colorama>=0.4.6
|
|
83
83
|
Requires-Dist: psutil>=7.2.2
|
|
@@ -116,7 +116,7 @@ Requires-Dist: pytest-xdist==3.8.0
|
|
|
116
116
|
Requires-Dist: parameterized==0.9.0
|
|
117
117
|
Requires-Dist: behave==1.2.6
|
|
118
118
|
Requires-Dist: soupsieve~=2.10.0; python_version < "3.11.5"
|
|
119
|
-
Requires-Dist: soupsieve~=3.0.
|
|
119
|
+
Requires-Dist: soupsieve~=3.0.4; python_version >= "3.11.5"
|
|
120
120
|
Requires-Dist: beautifulsoup4~=4.15.0
|
|
121
121
|
Requires-Dist: pyotp~=2.10.0
|
|
122
122
|
Requires-Dist: python-xlib==0.33; platform_system == "Linux"
|
|
@@ -129,7 +129,8 @@ Requires-Dist: allure-pytest>=2.16.0; extra == "allure"
|
|
|
129
129
|
Requires-Dist: allure-python-commons>=2.16.0; extra == "allure"
|
|
130
130
|
Requires-Dist: allure-behave>=2.16.0; extra == "allure"
|
|
131
131
|
Provides-Extra: coverage
|
|
132
|
-
Requires-Dist: coverage>=7.16.2; extra == "coverage"
|
|
132
|
+
Requires-Dist: coverage>=7.16.2; python_version == "3.10" and extra == "coverage"
|
|
133
|
+
Requires-Dist: coverage>=7.17.0; python_version >= "3.11" and extra == "coverage"
|
|
133
134
|
Requires-Dist: pytest-cov>=7.1.0; extra == "coverage"
|
|
134
135
|
Provides-Extra: flake8
|
|
135
136
|
Requires-Dist: flake8==7.4.1; extra == "flake8"
|
|
@@ -142,24 +143,26 @@ Provides-Extra: mss
|
|
|
142
143
|
Requires-Dist: mss==10.2.0; extra == "mss"
|
|
143
144
|
Provides-Extra: pdfminer
|
|
144
145
|
Requires-Dist: pdfminer.six==20260107; extra == "pdfminer"
|
|
145
|
-
Requires-Dist: cryptography
|
|
146
|
-
Requires-Dist: cffi
|
|
147
|
-
Requires-Dist: pycparser==3.11; extra == "pdfminer"
|
|
146
|
+
Requires-Dist: cryptography~=50.0.2; extra == "pdfminer"
|
|
147
|
+
Requires-Dist: cffi~=2.1.1; extra == "pdfminer"
|
|
148
|
+
Requires-Dist: pycparser==3.11; python_version == "3.10" and extra == "pdfminer"
|
|
149
|
+
Requires-Dist: pycparser~=3.12; python_version >= "3.11" and extra == "pdfminer"
|
|
148
150
|
Provides-Extra: pillow
|
|
149
|
-
Requires-Dist: Pillow>=12.3.0; extra == "pillow"
|
|
151
|
+
Requires-Dist: Pillow>=12.3.0; python_version == "3.10" and extra == "pillow"
|
|
152
|
+
Requires-Dist: Pillow>=13.0.0; python_version >= "3.11" and extra == "pillow"
|
|
150
153
|
Provides-Extra: pip-system-certs
|
|
151
154
|
Requires-Dist: pip-system-certs>=4.0; platform_system == "Windows" and extra == "pip-system-certs"
|
|
152
155
|
Provides-Extra: proxy
|
|
153
156
|
Requires-Dist: proxy.py==2.4.3; extra == "proxy"
|
|
154
157
|
Provides-Extra: playwright
|
|
155
|
-
Requires-Dist: playwright>=1.64.
|
|
158
|
+
Requires-Dist: playwright>=1.64.1; extra == "playwright"
|
|
156
159
|
Requires-Dist: greenlet>=3.5.6; extra == "playwright"
|
|
157
160
|
Requires-Dist: pyee>=13.0.1; python_version < "3.12" and extra == "playwright"
|
|
158
161
|
Requires-Dist: pyee>=14.0.0; python_version >= "3.12" and extra == "playwright"
|
|
159
162
|
Provides-Extra: pyautogui
|
|
160
163
|
Requires-Dist: PyAutoGUI>=0.9.54; platform_system != "Linux" and extra == "pyautogui"
|
|
161
164
|
Provides-Extra: uv
|
|
162
|
-
Requires-Dist: uv>=0.13.
|
|
165
|
+
Requires-Dist: uv>=0.13.5; extra == "uv"
|
|
163
166
|
Dynamic: author
|
|
164
167
|
Dynamic: author-email
|
|
165
168
|
Dynamic: classifier
|
|
@@ -190,11 +193,14 @@ Dynamic: summary
|
|
|
190
193
|
|
|
191
194
|
<p align="center"><b align="center">Includes stealth options for bypassing bot-detection and CAPTCHAs.<br /></b></p>
|
|
192
195
|
|
|
193
|
-
<p align="center"
|
|
194
|
-
|
|
195
|
-
|
|
196
|
+
<p align="center">
|
|
197
|
+
<a href="https://pypi.python.org/pypi/seleniumbase" target="_blank" rel="noopener"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?style=flat-square&color=3399EE" alt="PyPI version" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank" rel="noopener"><img src="https://img.shields.io/github/actions/workflow/status/seleniumbase/SeleniumBase/python-package.yml?branch=master&style=flat-square&label=CI" alt="SeleniumBase GitHub Actions" height="20" /></a> <a href="https://seleniumbase.io" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg?style=flat-square" alt="SeleniumBase Docs" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-33A6C6.svg?style=flat-square" title="SeleniumBase" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/tree/master/mcp_servers" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/MCP-tool_catalog-7C6EE5?style=flat-square" height="20" /></a> <a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank" rel="noopener"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" /></a><br />
|
|
198
|
+
<a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-📺-D844E8.svg?style=flat-square&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a> <a href="https://www.facebook.com/SeleniumBase/" target="_blank" rel="noopener"> <img src="https://img.shields.io/badge/Facebook-4K_followers-1877F2?style=flat-square&logo=facebook&logoColor=white" alt="SeleniumBase Facebook Followers" height="20" /></a> <a href="https://x.com/seleniumbase" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/-1K_followers-1DA1F2?style=flat-square&logo=x&logoColor=white&labelColor=555555" alt="SeleniumBase X Followers" height="20" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank" rel="noopener"><img src="https://img.shields.io/discord/727927627830001734?style=flat-square&color=7289DA&label=Discord&logo=discord&logoColor=white" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase" target="_blank" rel="noopener"><img src="https://badgen.net/github/stars/seleniumbase/SeleniumBase" title="Stars" height="20" /></a>
|
|
199
|
+
</p>
|
|
196
200
|
|
|
197
|
-
<p align="center"
|
|
201
|
+
<p align="center">
|
|
202
|
+
<a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-12493" target="_blank" rel="noopener"><img src="https://trendshift.io/api/badge/repositories/12493" alt="seleniumbase%2SeleniumBase | Trendshift" width="250" height="55"/></a>
|
|
203
|
+
</p>
|
|
198
204
|
|
|
199
205
|
<p align="center">
|
|
200
206
|
<a href="#python_installation">🚀 Start</a> |
|
|
@@ -305,8 +311,8 @@ python raw_cdp_planetmc.py
|
|
|
305
311
|
from seleniumbase import sb_cdp
|
|
306
312
|
|
|
307
313
|
sb = sb_cdp.Chrome(fast=True)
|
|
308
|
-
sb.goto("https://
|
|
309
|
-
elements = sb.find_elements("
|
|
314
|
+
sb.goto("https://hn.algolia.com/?query=seleniumbase")
|
|
315
|
+
elements = sb.find_elements("div.Story_title > a")
|
|
310
316
|
for element in elements:
|
|
311
317
|
print("* " + element.text)
|
|
312
318
|
```
|
|
@@ -1712,4 +1718,4 @@ pytest --reruns=1 --reruns-delay=1
|
|
|
1712
1718
|
<div><a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" height="20" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22BBCC.svg" title="SeleniumBase" height="20" /></a> </div>
|
|
1713
1719
|
<div align="left"></div>
|
|
1714
1720
|
<div><a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank" rel="noopener"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank" rel="noopener"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white" height="20" /></a></div>
|
|
1715
|
-
<div><a href="https://www.youtube.com/@MichaelMintz" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-MichaelMintz-
|
|
1721
|
+
<div><a href="https://www.youtube.com/@MichaelMintz" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-MichaelMintz-DD3355.svg?style=flat&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a></div>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
pip>=26.2.
|
|
1
|
+
pip>=26.2.2
|
|
2
2
|
packaging>=26.3
|
|
3
|
-
setuptools>=84.
|
|
3
|
+
setuptools>=84.2.1
|
|
4
4
|
wheel>=0.48.0
|
|
5
5
|
attrs>=26.1.0
|
|
6
|
-
certifi>=2026.
|
|
6
|
+
certifi>=2026.10.23
|
|
7
7
|
exceptiongroup>=1.3.1
|
|
8
8
|
fasteners>=0.20
|
|
9
9
|
mycdp>=1.4.0
|
|
@@ -13,7 +13,7 @@ sbvirtualdisplay>=1.4.0
|
|
|
13
13
|
MarkupSafe>=3.0.4
|
|
14
14
|
Jinja2>=3.1.6
|
|
15
15
|
six>=1.17.0
|
|
16
|
-
parse>=1.22.
|
|
16
|
+
parse>=1.22.4
|
|
17
17
|
parse-type>=0.6.6
|
|
18
18
|
colorama>=0.4.6
|
|
19
19
|
psutil>=7.2.2
|
|
@@ -69,15 +69,15 @@ filelock==4.1.0
|
|
|
69
69
|
pytest-rerunfailures==16.3
|
|
70
70
|
|
|
71
71
|
[:python_version >= "3.11"]
|
|
72
|
-
websockets>=
|
|
73
|
-
filelock>=4.2.
|
|
72
|
+
websockets>=17.3
|
|
73
|
+
filelock>=4.2.4
|
|
74
74
|
cssselect<2,>=1.6.0
|
|
75
75
|
pluggy<1.8,>=1.6.0
|
|
76
76
|
pytest==9.1.1
|
|
77
77
|
pytest-rerunfailures==16.7
|
|
78
78
|
|
|
79
79
|
[:python_version >= "3.11.5"]
|
|
80
|
-
soupsieve~=3.0.
|
|
80
|
+
soupsieve~=3.0.4
|
|
81
81
|
|
|
82
82
|
[allure]
|
|
83
83
|
allure-pytest>=2.16.0
|
|
@@ -85,9 +85,14 @@ allure-python-commons>=2.16.0
|
|
|
85
85
|
allure-behave>=2.16.0
|
|
86
86
|
|
|
87
87
|
[coverage]
|
|
88
|
-
coverage>=7.16.2
|
|
89
88
|
pytest-cov>=7.1.0
|
|
90
89
|
|
|
90
|
+
[coverage:python_version == "3.10"]
|
|
91
|
+
coverage>=7.16.2
|
|
92
|
+
|
|
93
|
+
[coverage:python_version >= "3.11"]
|
|
94
|
+
coverage>=7.17.0
|
|
95
|
+
|
|
91
96
|
[flake8]
|
|
92
97
|
flake8==7.4.1
|
|
93
98
|
mccabe==0.7.0
|
|
@@ -102,20 +107,30 @@ mss==10.2.0
|
|
|
102
107
|
|
|
103
108
|
[pdfminer]
|
|
104
109
|
pdfminer.six==20260107
|
|
105
|
-
cryptography
|
|
106
|
-
cffi
|
|
110
|
+
cryptography~=50.0.2
|
|
111
|
+
cffi~=2.1.1
|
|
112
|
+
|
|
113
|
+
[pdfminer:python_version == "3.10"]
|
|
107
114
|
pycparser==3.11
|
|
108
115
|
|
|
116
|
+
[pdfminer:python_version >= "3.11"]
|
|
117
|
+
pycparser~=3.12
|
|
118
|
+
|
|
109
119
|
[pillow]
|
|
120
|
+
|
|
121
|
+
[pillow:python_version == "3.10"]
|
|
110
122
|
Pillow>=12.3.0
|
|
111
123
|
|
|
124
|
+
[pillow:python_version >= "3.11"]
|
|
125
|
+
Pillow>=13.0.0
|
|
126
|
+
|
|
112
127
|
[pip-system-certs]
|
|
113
128
|
|
|
114
129
|
[pip-system-certs:platform_system == "Windows"]
|
|
115
130
|
pip-system-certs>=4.0
|
|
116
131
|
|
|
117
132
|
[playwright]
|
|
118
|
-
playwright>=1.64.
|
|
133
|
+
playwright>=1.64.1
|
|
119
134
|
greenlet>=3.5.6
|
|
120
135
|
|
|
121
136
|
[playwright:python_version < "3.12"]
|
|
@@ -133,4 +148,4 @@ proxy.py==2.4.3
|
|
|
133
148
|
PyAutoGUI>=0.9.54
|
|
134
149
|
|
|
135
150
|
[uv]
|
|
136
|
-
uv>=0.13.
|
|
151
|
+
uv>=0.13.5
|
|
@@ -164,17 +164,17 @@ setup(
|
|
|
164
164
|
],
|
|
165
165
|
python_requires=">=3.10",
|
|
166
166
|
install_requires=[
|
|
167
|
-
'pip>=26.2.
|
|
167
|
+
'pip>=26.2.2',
|
|
168
168
|
'packaging>=26.3',
|
|
169
|
-
'setuptools>=84.
|
|
169
|
+
'setuptools>=84.2.1',
|
|
170
170
|
'wheel>=0.48.0',
|
|
171
171
|
'attrs>=26.1.0',
|
|
172
|
-
'certifi>=2026.
|
|
172
|
+
'certifi>=2026.10.23',
|
|
173
173
|
'exceptiongroup>=1.3.1',
|
|
174
174
|
'websockets~=16.1.1;python_version=="3.10"',
|
|
175
|
-
'websockets>=
|
|
175
|
+
'websockets>=17.3;python_version>="3.11"',
|
|
176
176
|
'filelock==4.1.0;python_version=="3.10"',
|
|
177
|
-
'filelock>=4.2.
|
|
177
|
+
'filelock>=4.2.4;python_version>="3.11"',
|
|
178
178
|
'fasteners>=0.20',
|
|
179
179
|
'mycdp>=1.4.0',
|
|
180
180
|
'pynose>=1.5.5',
|
|
@@ -183,7 +183,7 @@ setup(
|
|
|
183
183
|
'MarkupSafe>=3.0.4',
|
|
184
184
|
'Jinja2>=3.1.6',
|
|
185
185
|
'six>=1.17.0',
|
|
186
|
-
'parse>=1.22.
|
|
186
|
+
'parse>=1.22.4',
|
|
187
187
|
'parse-type>=0.6.6',
|
|
188
188
|
'colorama>=0.4.6',
|
|
189
189
|
'psutil>=7.2.2',
|
|
@@ -222,7 +222,7 @@ setup(
|
|
|
222
222
|
'parameterized==0.9.0',
|
|
223
223
|
'behave==1.2.6', # Newer ones had issues
|
|
224
224
|
'soupsieve~=2.10.0;python_version<"3.11.5"',
|
|
225
|
-
'soupsieve~=3.0.
|
|
225
|
+
'soupsieve~=3.0.4;python_version>="3.11.5"',
|
|
226
226
|
'beautifulsoup4~=4.15.0',
|
|
227
227
|
'pyotp~=2.10.0',
|
|
228
228
|
'python-xlib==0.33;platform_system=="Linux"',
|
|
@@ -243,7 +243,8 @@ setup(
|
|
|
243
243
|
# pip install -e .[coverage]
|
|
244
244
|
# Usage: coverage run -m pytest; coverage html; coverage report
|
|
245
245
|
"coverage": [
|
|
246
|
-
'coverage>=7.16.2',
|
|
246
|
+
'coverage>=7.16.2;python_version=="3.10"',
|
|
247
|
+
'coverage>=7.17.0;python_version>="3.11"',
|
|
247
248
|
'pytest-cov>=7.1.0',
|
|
248
249
|
],
|
|
249
250
|
# pip install -e .[flake8]
|
|
@@ -270,14 +271,16 @@ setup(
|
|
|
270
271
|
# (An optional library for parsing PDF files.)
|
|
271
272
|
"pdfminer": [
|
|
272
273
|
'pdfminer.six==20260107',
|
|
273
|
-
'cryptography
|
|
274
|
-
'cffi
|
|
275
|
-
'pycparser==3.11',
|
|
274
|
+
'cryptography~=50.0.2',
|
|
275
|
+
'cffi~=2.1.1',
|
|
276
|
+
'pycparser==3.11;python_version=="3.10"',
|
|
277
|
+
'pycparser~=3.12;python_version>="3.11"',
|
|
276
278
|
],
|
|
277
279
|
# pip install -e .[pillow]
|
|
278
280
|
# (An optional library for image-processing.)
|
|
279
281
|
"pillow": [
|
|
280
|
-
'Pillow>=12.3.0',
|
|
282
|
+
'Pillow>=12.3.0;python_version=="3.10"',
|
|
283
|
+
'Pillow>=13.0.0;python_version>="3.11"',
|
|
281
284
|
],
|
|
282
285
|
# pip install -e .[pip-system-certs]
|
|
283
286
|
# (If you see [SSL: CERTIFICATE_VERIFY_FAILED], then get this.)
|
|
@@ -294,7 +297,7 @@ setup(
|
|
|
294
297
|
# pip install -e .[playwright]
|
|
295
298
|
# (For the Playwright integration.)
|
|
296
299
|
"playwright": [
|
|
297
|
-
'playwright>=1.64.
|
|
300
|
+
'playwright>=1.64.1',
|
|
298
301
|
'greenlet>=3.5.6',
|
|
299
302
|
'pyee>=13.0.1;python_version<"3.12"',
|
|
300
303
|
'pyee>=14.0.0;python_version>="3.12"',
|
|
@@ -307,7 +310,7 @@ setup(
|
|
|
307
310
|
# pip install -e .[uv]
|
|
308
311
|
# (For the MCP integration and more.)
|
|
309
312
|
"uv": [
|
|
310
|
-
"uv>=0.13.
|
|
313
|
+
"uv>=0.13.5"
|
|
311
314
|
],
|
|
312
315
|
},
|
|
313
316
|
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
|