seleniumbase 4.52.2__tar.gz → 4.52.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.52.2/seleniumbase.egg-info → seleniumbase-4.52.4}/PKG-INFO +7 -3
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/README.md +5 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/mcp_servers/server.py +1 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/requirements.txt +1 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/__version__.py +1 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/config/settings.py +8 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/browser_launcher.py +13 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/settings_parser.py +2 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/base_case.py +4 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4/seleniumbase.egg-info}/PKG-INFO +7 -3
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase.egg-info/requires.txt +1 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/setup.py +1 -1
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/.gitignore +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/LICENSE +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/MANIFEST.in +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/install.sh +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/mcp_servers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/pyproject.toml +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/pytest.ini +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/sbase/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/sbase/__main__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/sbase/steps.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/__main__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/behave/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/behave/behave_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/behave/behave_sb.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/behave/steps.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/common/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/common/decorators.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/common/encryption.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/common/exceptions.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/common/obfuscate.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/common/unobfuscate.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/config/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/config/ad_block_list.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/config/proxy_list.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/logo_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/rich_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/run.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_commander.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_install.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_objectify.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_print.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/console_scripts/sb_recorder.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/application_manager.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/capabilities_parser.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/colored_traceback.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/create_db_tables.sql +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/detect_b_ver.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/download_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/encoded_images.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/jqc_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/log_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/mysql.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/nest_asyncio.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/proxy_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/recorder_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/report_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/s3_manager.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/sb_cdp.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/sb_driver.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/session_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/style_sheet.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/testcase_manager.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/tour_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/core/visual_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/extensions/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/extensions/ad_block.zip +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/extensions/disable_csp.zip +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/extensions/recorder.zip +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/extensions/sbase_ext.zip +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/constants.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/css_to_xpath.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/errors.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/js_utils.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/page_actions.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/page_utils.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/shared_utils.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/unittest_helper.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/words.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/fixtures/xpath_to_css.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/js_code/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/js_code/active_css_js.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/js_code/live_js.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/js_code/recorder_js.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/masterqa/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/masterqa/master_qa.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/base_plugin.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/basic_test_info.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/driver_manager.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/page_source.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/pytest_plugin.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/sb_manager.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/screen_shots.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/plugins/selenium_plugin.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/resources/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/chinese.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/dutch.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/french.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/italian.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/japanese.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/korean.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/master_dict.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/portuguese.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/russian.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/spanish.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/translate/translator.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/config.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/element.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/dprocess.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/options.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/patcher.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/reactor.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/webelement.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/font_color +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase.egg-info/SOURCES.txt +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase.egg-info/dependency_links.txt +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase.egg-info/entry_points.txt +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase.egg-info/top_level.txt +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/setup.cfg +0 -0
- {seleniumbase-4.52.2 → seleniumbase-4.52.4}/virtualenv_install.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.52.
|
|
3
|
+
Version: 4.52.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
|
|
@@ -71,7 +71,7 @@ Requires-Dist: filelock>=3.32.4
|
|
|
71
71
|
Requires-Dist: fasteners>=0.20
|
|
72
72
|
Requires-Dist: mycdp>=1.4.0
|
|
73
73
|
Requires-Dist: pynose>=1.5.5
|
|
74
|
-
Requires-Dist: platformdirs>=4.11.
|
|
74
|
+
Requires-Dist: platformdirs>=4.11.4
|
|
75
75
|
Requires-Dist: typing-extensions>=4.16.0
|
|
76
76
|
Requires-Dist: sbvirtualdisplay>=1.4.0
|
|
77
77
|
Requires-Dist: MarkupSafe>=3.0.3
|
|
@@ -215,7 +215,7 @@ Dynamic: summary
|
|
|
215
215
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/tour_examples/ReadMe.md">🚎 Tours</a>
|
|
216
216
|
<br />
|
|
217
217
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/mcp_servers/">🤖 MCP</a> |
|
|
218
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">🟨 JS
|
|
218
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">🟨 JS Mgr</a> |
|
|
219
219
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/translations.md">🌏 Translator</a> |
|
|
220
220
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/presenter/ReadMe.md">🎞️ Presenter</a> |
|
|
221
221
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/visual_testing/ReadMe.md">🖼️ Visual</a> |
|
|
@@ -234,6 +234,10 @@ Dynamic: summary
|
|
|
234
234
|
<li><code><b>pip install playwright</b></code> for the optional integration. (Or use <code>uv add</code>)</li>
|
|
235
235
|
</ul>
|
|
236
236
|
|
|
237
|
+
<ul>
|
|
238
|
+
<li><b>🤖 For the <code>seleniumbase-mcp</code> MCP server, <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/mcp_servers/">see the MCP ReadMe</a>.</b></li>
|
|
239
|
+
</ul>
|
|
240
|
+
|
|
237
241
|
--------
|
|
238
242
|
|
|
239
243
|
<b>📝 Here's a Python example that uses <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md#-pure-cdp-mode-sb_cdp">Pure CDP Mode</a> (<code>sb_cdp</code>):</b><br />(It navigates to Browserscan where it bypasses bot-detection.)
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/tour_examples/ReadMe.md">🚎 Tours</a>
|
|
44
44
|
<br />
|
|
45
45
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/mcp_servers/">🤖 MCP</a> |
|
|
46
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">🟨 JS
|
|
46
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">🟨 JS Mgr</a> |
|
|
47
47
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/translations.md">🌏 Translator</a> |
|
|
48
48
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/presenter/ReadMe.md">🎞️ Presenter</a> |
|
|
49
49
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/visual_testing/ReadMe.md">🖼️ Visual</a> |
|
|
@@ -62,6 +62,10 @@
|
|
|
62
62
|
<li><code><b>pip install playwright</b></code> for the optional integration. (Or use <code>uv add</code>)</li>
|
|
63
63
|
</ul>
|
|
64
64
|
|
|
65
|
+
<ul>
|
|
66
|
+
<li><b>🤖 For the <code>seleniumbase-mcp</code> MCP server, <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/mcp_servers/">see the MCP ReadMe</a>.</b></li>
|
|
67
|
+
</ul>
|
|
68
|
+
|
|
65
69
|
--------
|
|
66
70
|
|
|
67
71
|
<b>📝 Here's a Python example that uses <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md#-pure-cdp-mode-sb_cdp">Pure CDP Mode</a> (<code>sb_cdp</code>):</b><br />(It navigates to Browserscan where it bypasses bot-detection.)
|
|
@@ -20,7 +20,7 @@ immediately to a plain dict (tag, text, html) rather than returning a handle.
|
|
|
20
20
|
If you need to act on a *specific* one of several matching elements, use
|
|
21
21
|
click_nth_element / click_nth_visible_element rather than find + click.
|
|
22
22
|
"""
|
|
23
|
-
|
|
23
|
+
from __future__ import annotations
|
|
24
24
|
import atexit
|
|
25
25
|
import sys
|
|
26
26
|
from typing import Any
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# seleniumbase package
|
|
2
|
-
__version__ = "4.52.
|
|
2
|
+
__version__ = "4.52.4"
|
|
@@ -23,6 +23,14 @@ EXTREME_TIMEOUT = 30
|
|
|
23
23
|
# In global Selenium settings, this value is set to 300 seconds by default.
|
|
24
24
|
PAGE_LOAD_TIMEOUT = 120
|
|
25
25
|
|
|
26
|
+
# Default client-side timeout (in seconds) for each HTTP request that a
|
|
27
|
+
# Remote WebDriver client sends to a Selenium server / Selenium Grid.
|
|
28
|
+
# When set to None, requests have no client-side timeout, which means
|
|
29
|
+
# a WebDriver command can block forever if a grid node dies mid-session.
|
|
30
|
+
# If used, set this higher than PAGE_LOAD_TIMEOUT, and higher than the
|
|
31
|
+
# time a new-session request may wait in your grid's session queue.
|
|
32
|
+
REMOTE_WEBDRIVER_TIMEOUT = None
|
|
33
|
+
|
|
26
34
|
# Default page load strategy.
|
|
27
35
|
# ["normal", "eager", "none"]
|
|
28
36
|
# Selenium default = "normal"
|
|
@@ -19,6 +19,7 @@ from selenium.common.exceptions import InvalidSessionIdException
|
|
|
19
19
|
from selenium.common.exceptions import SessionNotCreatedException
|
|
20
20
|
from selenium.webdriver.chrome.service import Service as ChromeService
|
|
21
21
|
from selenium.webdriver.common import utils as common_utils
|
|
22
|
+
from selenium.webdriver.remote.client_config import ClientConfig
|
|
22
23
|
from seleniumbase import config as sb_config
|
|
23
24
|
from seleniumbase import decorators
|
|
24
25
|
from seleniumbase import drivers # webdriver storage folder for SeleniumBase
|
|
@@ -3719,6 +3720,12 @@ def get_remote_driver(
|
|
|
3719
3720
|
address += "wd/hub"
|
|
3720
3721
|
else:
|
|
3721
3722
|
address += "/wd/hub"
|
|
3723
|
+
client_config = None
|
|
3724
|
+
if settings.REMOTE_WEBDRIVER_TIMEOUT:
|
|
3725
|
+
client_config = ClientConfig(
|
|
3726
|
+
remote_server_addr=address,
|
|
3727
|
+
timeout=settings.REMOTE_WEBDRIVER_TIMEOUT,
|
|
3728
|
+
)
|
|
3722
3729
|
downloads_path = DOWNLOADS_FOLDER
|
|
3723
3730
|
desired_caps = {}
|
|
3724
3731
|
extra_caps = {}
|
|
@@ -3845,6 +3852,7 @@ def get_remote_driver(
|
|
|
3845
3852
|
chrome_options.set_capability(key, ext_caps[key])
|
|
3846
3853
|
driver = webdriver.Remote(
|
|
3847
3854
|
command_executor=address,
|
|
3855
|
+
client_config=client_config,
|
|
3848
3856
|
options=chrome_options,
|
|
3849
3857
|
)
|
|
3850
3858
|
return extend_driver(driver)
|
|
@@ -3910,6 +3918,7 @@ def get_remote_driver(
|
|
|
3910
3918
|
firefox_options.set_capability(key, ext_caps[key])
|
|
3911
3919
|
driver = webdriver.Remote(
|
|
3912
3920
|
command_executor=address,
|
|
3921
|
+
client_config=client_config,
|
|
3913
3922
|
options=firefox_options,
|
|
3914
3923
|
)
|
|
3915
3924
|
return extend_driver(driver)
|
|
@@ -3919,6 +3928,7 @@ def get_remote_driver(
|
|
|
3919
3928
|
remote_options.set_capability("cloud:options", desired_caps)
|
|
3920
3929
|
driver = webdriver.Remote(
|
|
3921
3930
|
command_executor=address,
|
|
3931
|
+
client_config=client_config,
|
|
3922
3932
|
options=remote_options,
|
|
3923
3933
|
)
|
|
3924
3934
|
return extend_driver(driver)
|
|
@@ -4018,6 +4028,7 @@ def get_remote_driver(
|
|
|
4018
4028
|
edge_options.set_capability(key, ext_caps[key])
|
|
4019
4029
|
driver = webdriver.Remote(
|
|
4020
4030
|
command_executor=address,
|
|
4031
|
+
client_config=client_config,
|
|
4021
4032
|
options=edge_options,
|
|
4022
4033
|
)
|
|
4023
4034
|
return extend_driver(driver)
|
|
@@ -4027,6 +4038,7 @@ def get_remote_driver(
|
|
|
4027
4038
|
remote_options.set_capability("cloud:options", desired_caps)
|
|
4028
4039
|
driver = webdriver.Remote(
|
|
4029
4040
|
command_executor=address,
|
|
4041
|
+
client_config=client_config,
|
|
4030
4042
|
options=remote_options,
|
|
4031
4043
|
)
|
|
4032
4044
|
return extend_driver(driver)
|
|
@@ -4039,6 +4051,7 @@ def get_remote_driver(
|
|
|
4039
4051
|
remote_options.set_capability("bstack:options", desired_caps)
|
|
4040
4052
|
driver = webdriver.Remote(
|
|
4041
4053
|
command_executor=address,
|
|
4054
|
+
client_config=client_config,
|
|
4042
4055
|
options=remote_options,
|
|
4043
4056
|
)
|
|
4044
4057
|
return extend_driver(driver)
|
|
@@ -73,6 +73,8 @@ def set_settings(settings_file):
|
|
|
73
73
|
settings.EXTREME_TIMEOUT = override_settings[key]
|
|
74
74
|
elif key == "PAGE_LOAD_TIMEOUT":
|
|
75
75
|
settings.PAGE_LOAD_TIMEOUT = override_settings[key]
|
|
76
|
+
elif key == "REMOTE_WEBDRIVER_TIMEOUT":
|
|
77
|
+
settings.REMOTE_WEBDRIVER_TIMEOUT = override_settings[key]
|
|
76
78
|
elif key == "ARCHIVE_EXISTING_LOGS":
|
|
77
79
|
settings.ARCHIVE_EXISTING_LOGS = override_settings[key]
|
|
78
80
|
elif key == "ARCHIVE_EXISTING_DOWNLOADS":
|
|
@@ -239,7 +239,10 @@ class BaseCase(unittest.TestCase):
|
|
|
239
239
|
):
|
|
240
240
|
# Auth in UC Mode requires CDP Mode
|
|
241
241
|
# (and now we're always forcing it)
|
|
242
|
-
logging.
|
|
242
|
+
logging.debug(
|
|
243
|
+
"Opening a URL from UC Mode now activates CDP Mode."
|
|
244
|
+
" To prevent this, call sb.driver.get(url) instead."
|
|
245
|
+
)
|
|
243
246
|
self.activate_cdp_mode(url, **kwargs)
|
|
244
247
|
return
|
|
245
248
|
elif (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seleniumbase
|
|
3
|
-
Version: 4.52.
|
|
3
|
+
Version: 4.52.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
|
|
@@ -71,7 +71,7 @@ Requires-Dist: filelock>=3.32.4
|
|
|
71
71
|
Requires-Dist: fasteners>=0.20
|
|
72
72
|
Requires-Dist: mycdp>=1.4.0
|
|
73
73
|
Requires-Dist: pynose>=1.5.5
|
|
74
|
-
Requires-Dist: platformdirs>=4.11.
|
|
74
|
+
Requires-Dist: platformdirs>=4.11.4
|
|
75
75
|
Requires-Dist: typing-extensions>=4.16.0
|
|
76
76
|
Requires-Dist: sbvirtualdisplay>=1.4.0
|
|
77
77
|
Requires-Dist: MarkupSafe>=3.0.3
|
|
@@ -215,7 +215,7 @@ Dynamic: summary
|
|
|
215
215
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/tour_examples/ReadMe.md">🚎 Tours</a>
|
|
216
216
|
<br />
|
|
217
217
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/mcp_servers/">🤖 MCP</a> |
|
|
218
|
-
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">🟨 JS
|
|
218
|
+
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/js_package_manager.md">🟨 JS Mgr</a> |
|
|
219
219
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/translations.md">🌏 Translator</a> |
|
|
220
220
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/presenter/ReadMe.md">🎞️ Presenter</a> |
|
|
221
221
|
<a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/visual_testing/ReadMe.md">🖼️ Visual</a> |
|
|
@@ -234,6 +234,10 @@ Dynamic: summary
|
|
|
234
234
|
<li><code><b>pip install playwright</b></code> for the optional integration. (Or use <code>uv add</code>)</li>
|
|
235
235
|
</ul>
|
|
236
236
|
|
|
237
|
+
<ul>
|
|
238
|
+
<li><b>🤖 For the <code>seleniumbase-mcp</code> MCP server, <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/mcp_servers/">see the MCP ReadMe</a>.</b></li>
|
|
239
|
+
</ul>
|
|
240
|
+
|
|
237
241
|
--------
|
|
238
242
|
|
|
239
243
|
<b>📝 Here's a Python example that uses <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md#-pure-cdp-mode-sb_cdp">Pure CDP Mode</a> (<code>sb_cdp</code>):</b><br />(It navigates to Browserscan where it bypasses bot-detection.)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.52.2 → seleniumbase-4.52.4}/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
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/undetected/cdp_driver/_contradict.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/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.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/grid_hub.py
RENAMED
|
File without changes
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/grid_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat
RENAMED
|
File without changes
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh
RENAMED
|
File without changes
|
|
File without changes
|
{seleniumbase-4.52.2 → seleniumbase-4.52.4}/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
|