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.
Files changed (164) hide show
  1. {seleniumbase-4.56.2/seleniumbase.egg-info → seleniumbase-4.56.4}/PKG-INFO +28 -22
  2. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/README.md +10 -7
  3. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/requirements.txt +9 -8
  4. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/__version__.py +1 -1
  5. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/sb_cdp.py +1 -1
  6. {seleniumbase-4.56.2 → seleniumbase-4.56.4/seleniumbase.egg-info}/PKG-INFO +28 -22
  7. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/requires.txt +27 -12
  8. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/setup.py +17 -14
  9. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/.gitignore +0 -0
  10. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/LICENSE +0 -0
  11. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/MANIFEST.in +0 -0
  12. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/install.sh +0 -0
  13. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/mcp_servers/__init__.py +0 -0
  14. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/mcp_servers/server.py +0 -0
  15. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/pyproject.toml +0 -0
  16. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/pytest.ini +0 -0
  17. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/sbase/__init__.py +0 -0
  18. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/sbase/__main__.py +0 -0
  19. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/sbase/steps.py +0 -0
  20. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/__init__.py +0 -0
  21. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/__main__.py +0 -0
  22. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/__init__.py +0 -0
  23. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/behave_helper.py +0 -0
  24. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/behave_sb.py +0 -0
  25. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/behave/steps.py +0 -0
  26. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/__init__.py +0 -0
  27. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/decorators.py +0 -0
  28. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/encryption.py +0 -0
  29. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/exceptions.py +0 -0
  30. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/obfuscate.py +0 -0
  31. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/common/unobfuscate.py +0 -0
  32. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/__init__.py +0 -0
  33. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/ad_block_list.py +0 -0
  34. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/proxy_list.py +0 -0
  35. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/config/settings.py +0 -0
  36. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/__init__.py +0 -0
  37. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/logo_helper.py +0 -0
  38. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/rich_helper.py +0 -0
  39. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/run.py +0 -0
  40. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  41. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  42. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_commander.py +0 -0
  43. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_install.py +0 -0
  44. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  45. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  46. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  47. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  48. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  49. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  50. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_print.py +0 -0
  51. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  52. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/__init__.py +0 -0
  53. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/application_manager.py +0 -0
  54. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/browser_launcher.py +0 -0
  55. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/capabilities_parser.py +0 -0
  56. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/colored_traceback.py +0 -0
  57. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/create_db_tables.sql +0 -0
  58. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/detect_b_ver.py +0 -0
  59. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/download_helper.py +0 -0
  60. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/encoded_images.py +0 -0
  61. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/jqc_helper.py +0 -0
  62. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/log_helper.py +0 -0
  63. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/mysql.py +0 -0
  64. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/nest_asyncio.py +0 -0
  65. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/proxy_helper.py +0 -0
  66. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/recorder_helper.py +0 -0
  67. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/report_helper.py +0 -0
  68. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/s3_manager.py +0 -0
  69. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/sb_driver.py +0 -0
  70. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/session_helper.py +0 -0
  71. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/settings_parser.py +0 -0
  72. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/style_sheet.py +0 -0
  73. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/testcase_manager.py +0 -0
  74. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/tour_helper.py +0 -0
  75. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/core/visual_helper.py +0 -0
  76. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/__init__.py +0 -0
  77. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/brave_drivers/__init__.py +0 -0
  78. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
  79. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/chromium_drivers/__init__.py +0 -0
  80. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
  81. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/comet_drivers/__init__.py +0 -0
  82. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/drivers/opera_drivers/__init__.py +0 -0
  83. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/__init__.py +0 -0
  84. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/ad_block.zip +0 -0
  85. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/disable_csp.zip +0 -0
  86. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/recorder.zip +0 -0
  87. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/extensions/sbase_ext.zip +0 -0
  88. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/__init__.py +0 -0
  89. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/base_case.py +0 -0
  90. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/constants.py +0 -0
  91. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  92. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/errors.py +0 -0
  93. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/js_utils.py +0 -0
  94. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/page_actions.py +0 -0
  95. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/page_utils.py +0 -0
  96. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/shared_utils.py +0 -0
  97. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/unittest_helper.py +0 -0
  98. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/words.py +0 -0
  99. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  100. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/__init__.py +0 -0
  101. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/active_css_js.py +0 -0
  102. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/live_js.py +0 -0
  103. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/js_code/recorder_js.py +0 -0
  104. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/masterqa/__init__.py +0 -0
  105. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/masterqa/master_qa.py +0 -0
  106. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/__init__.py +0 -0
  107. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/base_plugin.py +0 -0
  108. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/basic_test_info.py +0 -0
  109. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  110. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/driver_manager.py +0 -0
  111. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/page_source.py +0 -0
  112. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/pytest_plugin.py +0 -0
  113. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  114. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/sb_manager.py +0 -0
  115. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/screen_shots.py +0 -0
  116. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/plugins/selenium_plugin.py +0 -0
  117. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/resources/__init__.py +0 -0
  118. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/__init__.py +0 -0
  119. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/chinese.py +0 -0
  120. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/dutch.py +0 -0
  121. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/french.py +0 -0
  122. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/italian.py +0 -0
  123. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/japanese.py +0 -0
  124. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/korean.py +0 -0
  125. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/master_dict.py +0 -0
  126. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/portuguese.py +0 -0
  127. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/russian.py +0 -0
  128. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/spanish.py +0 -0
  129. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/translate/translator.py +0 -0
  130. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/__init__.py +0 -0
  131. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp.py +0 -0
  132. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  133. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  134. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  135. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  136. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  137. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  138. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  139. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  140. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/dprocess.py +0 -0
  141. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/options.py +0 -0
  142. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/patcher.py +0 -0
  143. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/reactor.py +0 -0
  144. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/undetected/webelement.py +0 -0
  145. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/__init__.py +0 -0
  146. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  147. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  148. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  149. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  150. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  151. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  152. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  153. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  154. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  155. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  156. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  157. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  158. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  159. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/SOURCES.txt +0 -0
  160. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/dependency_links.txt +0 -0
  161. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/entry_points.txt +0 -0
  162. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/seleniumbase.egg-info/top_level.txt +0 -0
  163. {seleniumbase-4.56.2 → seleniumbase-4.56.4}/setup.cfg +0 -0
  164. {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.2
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.1
61
+ Requires-Dist: pip>=26.2.2
62
62
  Requires-Dist: packaging>=26.3
63
- Requires-Dist: setuptools>=84.0.0
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.7.22
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>=16.1.1; python_version >= "3.11"
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.0; python_version >= "3.11"
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.3
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.3; python_version >= "3.11.5"
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==50.0.2; extra == "pdfminer"
146
- Requires-Dist: cffi==2.1.1; extra == "pdfminer"
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.0; extra == "playwright"
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.1; extra == "uv"
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"><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/tree/master/mcp_servers" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/MCP-tool_catalog-6C5EE5?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">
194
- <img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" />
195
- </a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-33C6B6.svg?style=flat-square" title="SeleniumBase" height="20" /></a><br /><a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-📺-E144E8.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></p>
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"><a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&amp;utm_medium=badge&amp;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></p>
201
+ <p align="center">
202
+ <a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&amp;utm_medium=badge&amp;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://news.ycombinator.com/submitted?id=seleniumbase")
309
- elements = sb.find_elements("span.titleline > a")
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-D12345.svg?style=flat&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a></div>
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"><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/tree/master/mcp_servers" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/MCP-tool_catalog-6C5EE5?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">
18
- <img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" />
19
- </a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-33C6B6.svg?style=flat-square" title="SeleniumBase" height="20" /></a><br /><a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-📺-E144E8.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></p>
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"><a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&amp;utm_medium=badge&amp;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></p>
22
+ <p align="center">
23
+ <a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&amp;utm_medium=badge&amp;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://news.ycombinator.com/submitted?id=seleniumbase")
133
- elements = sb.find_elements("span.titleline > a")
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-D12345.svg?style=flat&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a></div>
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
1
+ pip>=26.2.2
2
2
  packaging>=26.3
3
- setuptools>=84.0.0
3
+ setuptools>=84.2.1
4
4
  wheel>=0.48.0
5
5
  attrs>=26.1.0
6
- certifi>=2026.7.22
6
+ certifi>=2026.10.23
7
7
  exceptiongroup>=1.3.1
8
8
  websockets~=16.1.1;python_version=="3.10"
9
- websockets>=16.1.1;python_version>="3.11"
9
+ websockets>=17.3;python_version>="3.11"
10
10
  filelock==4.1.0;python_version=="3.10"
11
- filelock>=4.2.0;python_version>="3.11"
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.3
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.3;python_version>="3.11.5"
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"
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.2
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.1
61
+ Requires-Dist: pip>=26.2.2
62
62
  Requires-Dist: packaging>=26.3
63
- Requires-Dist: setuptools>=84.0.0
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.7.22
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>=16.1.1; python_version >= "3.11"
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.0; python_version >= "3.11"
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.3
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.3; python_version >= "3.11.5"
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==50.0.2; extra == "pdfminer"
146
- Requires-Dist: cffi==2.1.1; extra == "pdfminer"
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.0; extra == "playwright"
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.1; extra == "uv"
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"><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/tree/master/mcp_servers" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/MCP-tool_catalog-6C5EE5?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">
194
- <img src="https://static.pepy.tech/badge/seleniumbase" alt="SeleniumBase PyPI downloads" height="20" />
195
- </a> <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-33C6B6.svg?style=flat-square" title="SeleniumBase" height="20" /></a><br /><a href="https://www.youtube.com/playlist?list=PLp9uKicxkBc5UIlGi2BuE3aWC7JyXpD3m" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/docs-📺-E144E8.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></p>
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"><a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&amp;utm_medium=badge&amp;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></p>
201
+ <p align="center">
202
+ <a href="https://trendshift.io/repositories/12493?utm_source=repository-badge&amp;utm_medium=badge&amp;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://news.ycombinator.com/submitted?id=seleniumbase")
309
- elements = sb.find_elements("span.titleline > a")
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-D12345.svg?style=flat&logo=YouTube&logoColor=white&label=YouTube" alt="YouTube Channel" height="20" /></a></div>
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
1
+ pip>=26.2.2
2
2
  packaging>=26.3
3
- setuptools>=84.0.0
3
+ setuptools>=84.2.1
4
4
  wheel>=0.48.0
5
5
  attrs>=26.1.0
6
- certifi>=2026.7.22
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.3
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>=16.1.1
73
- filelock>=4.2.0
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.3
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==50.0.2
106
- cffi==2.1.1
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.0
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.1
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.1',
167
+ 'pip>=26.2.2',
168
168
  'packaging>=26.3',
169
- 'setuptools>=84.0.0',
169
+ 'setuptools>=84.2.1',
170
170
  'wheel>=0.48.0',
171
171
  'attrs>=26.1.0',
172
- 'certifi>=2026.7.22',
172
+ 'certifi>=2026.10.23',
173
173
  'exceptiongroup>=1.3.1',
174
174
  'websockets~=16.1.1;python_version=="3.10"',
175
- 'websockets>=16.1.1;python_version>="3.11"',
175
+ 'websockets>=17.3;python_version>="3.11"',
176
176
  'filelock==4.1.0;python_version=="3.10"',
177
- 'filelock>=4.2.0;python_version>="3.11"',
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.3',
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.3;python_version>="3.11.5"',
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==50.0.2',
274
- 'cffi==2.1.1',
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.0',
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.1"
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