seleniumbase 4.42.6__tar.gz → 4.43.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of seleniumbase might be problematic. Click here for more details.

Files changed (157) hide show
  1. {seleniumbase-4.42.6/seleniumbase.egg-info → seleniumbase-4.43.0}/PKG-INFO +11 -11
  2. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/README.md +8 -8
  3. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/requirements.txt +1 -1
  4. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/__version__.py +1 -1
  5. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_mkdir.py +2 -7
  6. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/sb_cdp.py +16 -39
  7. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/base_case.py +3 -1
  8. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/browser.py +2 -1
  9. {seleniumbase-4.42.6 → seleniumbase-4.43.0/seleniumbase.egg-info}/PKG-INFO +11 -11
  10. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase.egg-info/requires.txt +2 -2
  11. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/setup.py +2 -2
  12. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/.gitignore +0 -0
  13. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/LICENSE +0 -0
  14. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/MANIFEST.in +0 -0
  15. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/install.sh +0 -0
  16. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/pyproject.toml +0 -0
  17. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/pytest.ini +0 -0
  18. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/sbase/__init__.py +0 -0
  19. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/sbase/__main__.py +0 -0
  20. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/sbase/steps.py +0 -0
  21. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/__init__.py +0 -0
  22. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/__main__.py +0 -0
  23. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/behave/__init__.py +0 -0
  24. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/behave/behave_helper.py +0 -0
  25. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/behave/behave_sb.py +0 -0
  26. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/behave/steps.py +0 -0
  27. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/common/__init__.py +0 -0
  28. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/common/decorators.py +0 -0
  29. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/common/encryption.py +0 -0
  30. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/common/exceptions.py +0 -0
  31. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/common/obfuscate.py +0 -0
  32. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/common/unobfuscate.py +0 -0
  33. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/config/__init__.py +0 -0
  34. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/config/ad_block_list.py +0 -0
  35. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/config/proxy_list.py +0 -0
  36. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/config/settings.py +0 -0
  37. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/__init__.py +0 -0
  38. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/logo_helper.py +0 -0
  39. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/rich_helper.py +0 -0
  40. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/run.py +0 -0
  41. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  42. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  43. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_commander.py +0 -0
  44. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_install.py +0 -0
  45. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  46. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  47. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  48. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  49. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  50. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_print.py +0 -0
  51. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  52. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/__init__.py +0 -0
  53. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/application_manager.py +0 -0
  54. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/browser_launcher.py +0 -0
  55. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/capabilities_parser.py +0 -0
  56. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/colored_traceback.py +0 -0
  57. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/create_db_tables.sql +0 -0
  58. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/detect_b_ver.py +0 -0
  59. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/download_helper.py +0 -0
  60. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/encoded_images.py +0 -0
  61. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/jqc_helper.py +0 -0
  62. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/log_helper.py +0 -0
  63. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/mysql.py +0 -0
  64. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/proxy_helper.py +0 -0
  65. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/recorder_helper.py +0 -0
  66. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/report_helper.py +0 -0
  67. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/s3_manager.py +0 -0
  68. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/sb_driver.py +0 -0
  69. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/session_helper.py +0 -0
  70. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/settings_parser.py +0 -0
  71. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/style_sheet.py +0 -0
  72. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/testcase_manager.py +0 -0
  73. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/tour_helper.py +0 -0
  74. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/core/visual_helper.py +0 -0
  75. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/drivers/__init__.py +0 -0
  76. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
  77. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
  78. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/extensions/__init__.py +0 -0
  79. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/extensions/ad_block.zip +0 -0
  80. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/extensions/disable_csp.zip +0 -0
  81. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/extensions/recorder.zip +0 -0
  82. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/extensions/sbase_ext.zip +0 -0
  83. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/__init__.py +0 -0
  84. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/constants.py +0 -0
  85. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  86. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/errors.py +0 -0
  87. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/js_utils.py +0 -0
  88. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/page_actions.py +0 -0
  89. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/page_utils.py +0 -0
  90. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/shared_utils.py +0 -0
  91. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/unittest_helper.py +0 -0
  92. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/words.py +0 -0
  93. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  94. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/js_code/__init__.py +0 -0
  95. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/js_code/active_css_js.py +0 -0
  96. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/js_code/live_js.py +0 -0
  97. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/js_code/recorder_js.py +0 -0
  98. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/masterqa/__init__.py +0 -0
  99. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/masterqa/master_qa.py +0 -0
  100. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/__init__.py +0 -0
  101. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/base_plugin.py +0 -0
  102. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/basic_test_info.py +0 -0
  103. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  104. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/driver_manager.py +0 -0
  105. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/page_source.py +0 -0
  106. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/pytest_plugin.py +0 -0
  107. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  108. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/sb_manager.py +0 -0
  109. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/screen_shots.py +0 -0
  110. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/plugins/selenium_plugin.py +0 -0
  111. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/resources/__init__.py +0 -0
  112. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/__init__.py +0 -0
  113. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/chinese.py +0 -0
  114. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/dutch.py +0 -0
  115. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/french.py +0 -0
  116. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/italian.py +0 -0
  117. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/japanese.py +0 -0
  118. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/korean.py +0 -0
  119. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/master_dict.py +0 -0
  120. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/portuguese.py +0 -0
  121. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/russian.py +0 -0
  122. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/spanish.py +0 -0
  123. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/translate/translator.py +0 -0
  124. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/__init__.py +0 -0
  125. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp.py +0 -0
  126. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  127. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  128. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  129. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  130. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  131. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  132. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  133. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/dprocess.py +0 -0
  134. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/options.py +0 -0
  135. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/patcher.py +0 -0
  136. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/reactor.py +0 -0
  137. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/undetected/webelement.py +0 -0
  138. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/__init__.py +0 -0
  139. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  140. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  141. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  142. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  143. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  144. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  145. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  146. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  147. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  148. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  149. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  150. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  151. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  152. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase.egg-info/SOURCES.txt +0 -0
  153. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase.egg-info/dependency_links.txt +0 -0
  154. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase.egg-info/entry_points.txt +0 -0
  155. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/seleniumbase.egg-info/top_level.txt +0 -0
  156. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/setup.cfg +0 -0
  157. {seleniumbase-4.42.6 → seleniumbase-4.43.0}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.42.6
3
+ Version: 4.43.0
4
4
  Summary: A complete web automation framework for end-to-end testing.
5
5
  Home-page: https://github.com/seleniumbase/SeleniumBase
6
6
  Author: Michael Mintz
@@ -113,7 +113,7 @@ Requires-Dist: websocket-client~=1.8.0; python_version < "3.9"
113
113
  Requires-Dist: websocket-client~=1.9.0; python_version >= "3.9"
114
114
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
115
115
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
116
- Requires-Dist: selenium==4.36.0; python_version >= "3.10"
116
+ Requires-Dist: selenium==4.37.0; python_version >= "3.10"
117
117
  Requires-Dist: cssselect==1.2.0; python_version < "3.9"
118
118
  Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
119
119
  Requires-Dist: sortedcontainers==2.4.0
@@ -171,7 +171,7 @@ Provides-Extra: pdfminer
171
171
  Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
172
172
  Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
173
173
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
174
- Requires-Dist: cryptography==46.0.2; python_version >= "3.9" and extra == "pdfminer"
174
+ Requires-Dist: cryptography==46.0.3; python_version >= "3.9" and extra == "pdfminer"
175
175
  Requires-Dist: cffi==1.17.1; python_version < "3.9" and extra == "pdfminer"
176
176
  Requires-Dist: cffi==2.0.0; python_version >= "3.9" and extra == "pdfminer"
177
177
  Requires-Dist: pycparser==2.22; python_version < "3.9" and extra == "pdfminer"
@@ -229,9 +229,10 @@ Dynamic: summary
229
229
 
230
230
  <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/super_logo_sb3.png" alt="SeleniumBase" title="SeleniumBase" width="350" /></a></p>
231
231
 
232
- <p align="center" class="hero__title"><b>All-in-one Browser Automation Framework:<br />Web Crawling / Testing / Scraping / Stealth</b></p>
232
+ <p align="center" class="hero__title"><b>Automate, test, and scrape the web on your own terms.<br /></b></p>
233
233
 
234
- <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white"/></a></p>
234
+ <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a></p>
235
+ <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/stargazers"><img src="https://img.shields.io/github/stars/seleniumbase/SeleniumBase?style=social"></a> <a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white"/></a></p>
235
236
 
236
237
  <p align="center">
237
238
  <a href="#python_installation">🚀 Start</a> |
@@ -271,7 +272,7 @@ Dynamic: summary
271
272
  <br />
272
273
  </p>
273
274
 
274
- <p>SeleniumBase is used for automating browsers, testing websites, scraping data, and bypassing CAPTCHAs.</p>
275
+ <p>SeleniumBase is a browser automation framework for the modern web. Both new and experienced Python users alike can easily get started. With special stealth features like UC Mode and CDP Mode, you'll be evading bot-detection and bypassing CAPTCHAs in minutes.</p>
275
276
 
276
277
  --------
277
278
 
@@ -545,7 +546,6 @@ pip install seleniumbase
545
546
 
546
547
  * (Add ``--upgrade`` OR ``-U`` to upgrade SeleniumBase.)
547
548
  * (Add ``--force-reinstall`` to upgrade indirect packages.)
548
- * (Use ``pip3`` if multiple versions of Python are present.)
549
549
 
550
550
  🔵 **How to install ``seleniumbase`` from a GitHub clone:**
551
551
 
@@ -619,10 +619,10 @@ pip install -e .
619
619
  <summary> ▶️ Here's sample output from a chromedriver download. (<b>click to expand</b>)</summary>
620
620
 
621
621
  ```zsh
622
- *** chromedriver to download = 131.0.6778.108 (Latest Stable)
622
+ *** chromedriver to download = 141.0.7390.78 (Latest Stable)
623
623
 
624
624
  Downloading chromedriver-mac-arm64.zip from:
625
- https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.108/mac-arm64/chromedriver-mac-arm64.zip ...
625
+ https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/mac-arm64/chromedriver-mac-arm64.zip ...
626
626
  Download Complete!
627
627
 
628
628
  Extracting ['chromedriver'] from chromedriver-mac-arm64.zip ...
@@ -632,8 +632,8 @@ The file [chromedriver] was saved to:
632
632
  ~/github/SeleniumBase/seleniumbase/drivers/
633
633
  chromedriver
634
634
 
635
- Making [chromedriver 131.0.6778.108] executable ...
636
- [chromedriver 131.0.6778.108] is now ready for use!
635
+ Making [chromedriver 141.0.7390.78] executable ...
636
+ [chromedriver 141.0.7390.78] is now ready for use!
637
637
  ```
638
638
 
639
639
  </details>
@@ -11,9 +11,10 @@
11
11
 
12
12
  <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/super_logo_sb3.png" alt="SeleniumBase" title="SeleniumBase" width="350" /></a></p>
13
13
 
14
- <p align="center" class="hero__title"><b>All-in-one Browser Automation Framework:<br />Web Crawling / Testing / Scraping / Stealth</b></p>
14
+ <p align="center" class="hero__title"><b>Automate, test, and scrape the web on your own terms.<br /></b></p>
15
15
 
16
- <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white"/></a></p>
16
+ <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a></p>
17
+ <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/stargazers"><img src="https://img.shields.io/github/stars/seleniumbase/SeleniumBase?style=social"></a> <a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white"/></a></p>
17
18
 
18
19
  <p align="center">
19
20
  <a href="#python_installation">🚀 Start</a> |
@@ -53,7 +54,7 @@
53
54
  <br />
54
55
  </p>
55
56
 
56
- <p>SeleniumBase is used for automating browsers, testing websites, scraping data, and bypassing CAPTCHAs.</p>
57
+ <p>SeleniumBase is a browser automation framework for the modern web. Both new and experienced Python users alike can easily get started. With special stealth features like UC Mode and CDP Mode, you'll be evading bot-detection and bypassing CAPTCHAs in minutes.</p>
57
58
 
58
59
  --------
59
60
 
@@ -327,7 +328,6 @@ pip install seleniumbase
327
328
 
328
329
  * (Add ``--upgrade`` OR ``-U`` to upgrade SeleniumBase.)
329
330
  * (Add ``--force-reinstall`` to upgrade indirect packages.)
330
- * (Use ``pip3`` if multiple versions of Python are present.)
331
331
 
332
332
  🔵 **How to install ``seleniumbase`` from a GitHub clone:**
333
333
 
@@ -401,10 +401,10 @@ pip install -e .
401
401
  <summary> ▶️ Here's sample output from a chromedriver download. (<b>click to expand</b>)</summary>
402
402
 
403
403
  ```zsh
404
- *** chromedriver to download = 131.0.6778.108 (Latest Stable)
404
+ *** chromedriver to download = 141.0.7390.78 (Latest Stable)
405
405
 
406
406
  Downloading chromedriver-mac-arm64.zip from:
407
- https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.108/mac-arm64/chromedriver-mac-arm64.zip ...
407
+ https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/mac-arm64/chromedriver-mac-arm64.zip ...
408
408
  Download Complete!
409
409
 
410
410
  Extracting ['chromedriver'] from chromedriver-mac-arm64.zip ...
@@ -414,8 +414,8 @@ The file [chromedriver] was saved to:
414
414
  ~/github/SeleniumBase/seleniumbase/drivers/
415
415
  chromedriver
416
416
 
417
- Making [chromedriver 131.0.6778.108] executable ...
418
- [chromedriver 131.0.6778.108] is now ready for use!
417
+ Making [chromedriver 141.0.7390.78] executable ...
418
+ [chromedriver 141.0.7390.78] is now ready for use!
419
419
  ```
420
420
 
421
421
  </details>
@@ -52,7 +52,7 @@ websocket-client~=1.8.0;python_version<"3.9"
52
52
  websocket-client~=1.9.0;python_version>="3.9"
53
53
  selenium==4.27.1;python_version<"3.9"
54
54
  selenium==4.32.0;python_version>="3.9" and python_version<"3.10"
55
- selenium==4.36.0;python_version>="3.10"
55
+ selenium==4.37.0;python_version>="3.10"
56
56
  cssselect==1.2.0;python_version<"3.9"
57
57
  cssselect==1.3.0;python_version>="3.9"
58
58
  sortedcontainers==2.4.0
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.42.6"
2
+ __version__ = "4.43.0"
@@ -636,17 +636,12 @@ def main():
636
636
  data.append("")
637
637
  data.append("class GoogleTests(BaseCase):")
638
638
  data.append(" def test_google_dot_com(self):")
639
+ data.append(" if self.headless:")
640
+ data.append(' self.skip("Skipping test in headless mode.")')
639
641
  data.append(" if not self.undetectable:")
640
642
  data.append(" self.get_new_driver(undetectable=True)")
641
643
  data.append(' self.open("https://google.com/ncr")')
642
644
  data.append(' self.assert_title_contains("Google")')
643
- data.append(" self.sleep(0.05)")
644
- data.append(" self.save_screenshot_to_logs()")
645
- data.append(
646
- " self.wait_for_element('iframe[role=\"presentation\"]')"
647
- )
648
- data.append(" self.hide_elements('iframe')")
649
- data.append(" self.sleep(0.05)")
650
645
  data.append(" self.save_screenshot_to_logs()")
651
646
  data.append(' self.type(HomePage.search_box, "github.com")')
652
647
  data.append(" self.assert_element(HomePage.search_button)")
@@ -187,46 +187,23 @@ class CDPMethods():
187
187
  element with the given tag. (Eg: a, button, div, script, span)"""
188
188
  if not timeout:
189
189
  timeout = settings.SMALL_TIMEOUT
190
- self.__add_light_pause()
191
- time_now = time.time()
192
- self.assert_text(text, timeout=timeout)
193
- spent = int(time.time() - time_now)
194
- remaining = 1 + timeout - spent
195
- if tag_name:
196
- self.assert_element(tag_name, timeout=remaining)
197
- elements = self.loop.run_until_complete(
198
- self.page.find_elements_by_text(text=text)
199
- )
200
190
  if tag_name:
201
- tag_name = tag_name.lower().strip()
202
- for element in elements:
203
- if element and not tag_name:
204
- element = self.__add_sync_methods(element)
205
- return self.__add_sync_methods(element)
206
- elif (
207
- element
208
- and tag_name in element.tag_name.lower()
209
- and text.strip() in element.text
210
- ):
211
- element = self.__add_sync_methods(element)
212
- return self.__add_sync_methods(element)
213
- elif (
214
- element
215
- and element.parent
216
- and tag_name in element.parent.tag_name.lower()
217
- and text.strip() in element.parent.text
218
- ):
219
- element = self.__add_sync_methods(element.parent)
220
- return self.__add_sync_methods(element)
221
- elif (
222
- element
223
- and element.parent
224
- and element.parent.parent
225
- and tag_name in element.parent.parent.tag_name.lower()
226
- and text.strip() in element.parent.parent.text
227
- ):
228
- element = self.__add_sync_methods(element.parent.parent)
229
- return self.__add_sync_methods(element)
191
+ try:
192
+ return self.find_element(
193
+ '%s:contains("%s")' % (tag_name, text), timeout=timeout
194
+ )
195
+ except Exception:
196
+ pass # The exception will be raised later
197
+ else:
198
+ self.__add_light_pause()
199
+ self.assert_text(text, timeout=timeout)
200
+ elements = self.loop.run_until_complete(
201
+ self.page.find_elements_by_text(text=text)
202
+ )
203
+ for element in elements:
204
+ if element:
205
+ element = self.__add_sync_methods(element)
206
+ return self.__add_sync_methods(element)
230
207
  plural = "s"
231
208
  if timeout == 1:
232
209
  plural = ""
@@ -10173,7 +10173,7 @@ class BaseCase(unittest.TestCase):
10173
10173
  text = self.__get_type_checked_text(text)
10174
10174
  selector, by = self.__recalculate_selector(selector, by)
10175
10175
  if self.__is_cdp_swap_needed():
10176
- return self.cdp.find_element(selector, timeout=timeout)
10176
+ return self.cdp.wait_for_text(text, selector, timeout=timeout)
10177
10177
  elif self.__is_shadow_selector(selector):
10178
10178
  return self.__wait_for_shadow_text_visible(text, selector, timeout)
10179
10179
  return page_actions.wait_for_text_visible(
@@ -10530,6 +10530,8 @@ class BaseCase(unittest.TestCase):
10530
10530
  timeout = settings.LARGE_TIMEOUT
10531
10531
  if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
10532
10532
  timeout = self.__get_new_timeout(timeout)
10533
+ if self.__is_cdp_swap_needed():
10534
+ return self.cdp.find_element_by_text(text=link_text, tag_name="a")
10533
10535
  return self.wait_for_element_visible(
10534
10536
  link_text, by="link text", timeout=timeout
10535
10537
  )
@@ -369,7 +369,8 @@ class Browser:
369
369
  proxy_user = username_and_password.split(":")[0]
370
370
  proxy_pass = username_and_password.split(":")[1]
371
371
  await connection.set_auth(proxy_user, proxy_pass, self.tabs[0])
372
- time.sleep(0.25)
372
+ time.sleep(0.22)
373
+ await connection.sleep(0.05)
373
374
  frame_id, loader_id, *_ = await connection.send(
374
375
  cdp.page.navigate(url)
375
376
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.42.6
3
+ Version: 4.43.0
4
4
  Summary: A complete web automation framework for end-to-end testing.
5
5
  Home-page: https://github.com/seleniumbase/SeleniumBase
6
6
  Author: Michael Mintz
@@ -113,7 +113,7 @@ Requires-Dist: websocket-client~=1.8.0; python_version < "3.9"
113
113
  Requires-Dist: websocket-client~=1.9.0; python_version >= "3.9"
114
114
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
115
115
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
116
- Requires-Dist: selenium==4.36.0; python_version >= "3.10"
116
+ Requires-Dist: selenium==4.37.0; python_version >= "3.10"
117
117
  Requires-Dist: cssselect==1.2.0; python_version < "3.9"
118
118
  Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
119
119
  Requires-Dist: sortedcontainers==2.4.0
@@ -171,7 +171,7 @@ Provides-Extra: pdfminer
171
171
  Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfminer"
172
172
  Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
173
173
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
174
- Requires-Dist: cryptography==46.0.2; python_version >= "3.9" and extra == "pdfminer"
174
+ Requires-Dist: cryptography==46.0.3; python_version >= "3.9" and extra == "pdfminer"
175
175
  Requires-Dist: cffi==1.17.1; python_version < "3.9" and extra == "pdfminer"
176
176
  Requires-Dist: cffi==2.0.0; python_version >= "3.9" and extra == "pdfminer"
177
177
  Requires-Dist: pycparser==2.22; python_version < "3.9" and extra == "pdfminer"
@@ -229,9 +229,10 @@ Dynamic: summary
229
229
 
230
230
  <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/super_logo_sb3.png" alt="SeleniumBase" title="SeleniumBase" width="350" /></a></p>
231
231
 
232
- <p align="center" class="hero__title"><b>All-in-one Browser Automation Framework:<br />Web Crawling / Testing / Scraping / Stealth</b></p>
232
+ <p align="center" class="hero__title"><b>Automate, test, and scrape the web on your own terms.<br /></b></p>
233
233
 
234
- <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white"/></a></p>
234
+ <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a></p>
235
+ <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/stargazers"><img src="https://img.shields.io/github/stars/seleniumbase/SeleniumBase?style=social"></a> <a href="https://pepy.tech/projects/seleniumbase?timeRange=threeMonths&category=version&includeCIDownloads=true&granularity=daily&viewType=line&versions=*" target="_blank"><img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" /></a> <a href="https://discord.gg/EdhQTn3EyE" target="_blank"><img src="https://img.shields.io/discord/727927627830001734?color=7289DA&label=Discord&logo=discord&logoColor=white"/></a></p>
235
236
 
236
237
  <p align="center">
237
238
  <a href="#python_installation">🚀 Start</a> |
@@ -271,7 +272,7 @@ Dynamic: summary
271
272
  <br />
272
273
  </p>
273
274
 
274
- <p>SeleniumBase is used for automating browsers, testing websites, scraping data, and bypassing CAPTCHAs.</p>
275
+ <p>SeleniumBase is a browser automation framework for the modern web. Both new and experienced Python users alike can easily get started. With special stealth features like UC Mode and CDP Mode, you'll be evading bot-detection and bypassing CAPTCHAs in minutes.</p>
275
276
 
276
277
  --------
277
278
 
@@ -545,7 +546,6 @@ pip install seleniumbase
545
546
 
546
547
  * (Add ``--upgrade`` OR ``-U`` to upgrade SeleniumBase.)
547
548
  * (Add ``--force-reinstall`` to upgrade indirect packages.)
548
- * (Use ``pip3`` if multiple versions of Python are present.)
549
549
 
550
550
  🔵 **How to install ``seleniumbase`` from a GitHub clone:**
551
551
 
@@ -619,10 +619,10 @@ pip install -e .
619
619
  <summary> ▶️ Here's sample output from a chromedriver download. (<b>click to expand</b>)</summary>
620
620
 
621
621
  ```zsh
622
- *** chromedriver to download = 131.0.6778.108 (Latest Stable)
622
+ *** chromedriver to download = 141.0.7390.78 (Latest Stable)
623
623
 
624
624
  Downloading chromedriver-mac-arm64.zip from:
625
- https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.108/mac-arm64/chromedriver-mac-arm64.zip ...
625
+ https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/mac-arm64/chromedriver-mac-arm64.zip ...
626
626
  Download Complete!
627
627
 
628
628
  Extracting ['chromedriver'] from chromedriver-mac-arm64.zip ...
@@ -632,8 +632,8 @@ The file [chromedriver] was saved to:
632
632
  ~/github/SeleniumBase/seleniumbase/drivers/
633
633
  chromedriver
634
634
 
635
- Making [chromedriver 131.0.6778.108] executable ...
636
- [chromedriver 131.0.6778.108] is now ready for use!
635
+ Making [chromedriver 141.0.7390.78] executable ...
636
+ [chromedriver 141.0.7390.78] is now ready for use!
637
637
  ```
638
638
 
639
639
  </details>
@@ -72,7 +72,7 @@ setuptools>=80.9.0
72
72
  filelock>=3.20.0
73
73
  platformdirs>=4.5.0
74
74
  urllib3<2.6.0,>=1.26.20
75
- selenium==4.36.0
75
+ selenium==4.37.0
76
76
  pytest-rerunfailures==16.1
77
77
  markdown-it-py==4.0.0
78
78
 
@@ -152,7 +152,7 @@ pycparser==2.22
152
152
 
153
153
  [pdfminer:python_version >= "3.9"]
154
154
  pdfminer.six==20250506
155
- cryptography==46.0.2
155
+ cryptography==46.0.3
156
156
  cffi==2.0.0
157
157
  pycparser==2.23
158
158
 
@@ -199,7 +199,7 @@ setup(
199
199
  'websocket-client~=1.9.0;python_version>="3.9"',
200
200
  'selenium==4.27.1;python_version<"3.9"',
201
201
  'selenium==4.32.0;python_version>="3.9" and python_version<"3.10"',
202
- 'selenium==4.36.0;python_version>="3.10"',
202
+ 'selenium==4.37.0;python_version>="3.10"',
203
203
  'cssselect==1.2.0;python_version<"3.9"',
204
204
  'cssselect==1.3.0;python_version>="3.9"',
205
205
  "sortedcontainers==2.4.0",
@@ -277,7 +277,7 @@ setup(
277
277
  'pdfminer.six==20250324;python_version<"3.9"',
278
278
  'pdfminer.six==20250506;python_version>="3.9"',
279
279
  'cryptography==39.0.2;python_version<"3.9"',
280
- 'cryptography==46.0.2;python_version>="3.9"',
280
+ 'cryptography==46.0.3;python_version>="3.9"',
281
281
  'cffi==1.17.1;python_version<"3.9"',
282
282
  'cffi==2.0.0;python_version>="3.9"',
283
283
  'pycparser==2.22;python_version<"3.9"',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes