seleniumbase 4.41.4__tar.gz → 4.41.6__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 (157) hide show
  1. {seleniumbase-4.41.4/seleniumbase.egg-info → seleniumbase-4.41.6}/PKG-INFO +11 -9
  2. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/requirements.txt +6 -6
  3. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/__version__.py +1 -1
  4. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/base_case.py +42 -0
  5. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/pytest_plugin.py +7 -2
  6. {seleniumbase-4.41.4 → seleniumbase-4.41.6/seleniumbase.egg-info}/PKG-INFO +11 -9
  7. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase.egg-info/requires.txt +10 -8
  8. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/setup.py +10 -8
  9. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/.gitignore +0 -0
  10. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/LICENSE +0 -0
  11. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/MANIFEST.in +0 -0
  12. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/README.md +0 -0
  13. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/install.sh +0 -0
  14. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/pyproject.toml +0 -0
  15. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/pytest.ini +0 -0
  16. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/sbase/__init__.py +0 -0
  17. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/sbase/__main__.py +0 -0
  18. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/sbase/steps.py +0 -0
  19. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/__init__.py +0 -0
  20. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/__main__.py +0 -0
  21. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/behave/__init__.py +0 -0
  22. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/behave/behave_helper.py +0 -0
  23. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/behave/behave_sb.py +0 -0
  24. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/behave/steps.py +0 -0
  25. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/common/__init__.py +0 -0
  26. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/common/decorators.py +0 -0
  27. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/common/encryption.py +0 -0
  28. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/common/exceptions.py +0 -0
  29. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/common/obfuscate.py +0 -0
  30. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/common/unobfuscate.py +0 -0
  31. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/config/__init__.py +0 -0
  32. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/config/ad_block_list.py +0 -0
  33. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/config/proxy_list.py +0 -0
  34. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/config/settings.py +0 -0
  35. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/__init__.py +0 -0
  36. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/logo_helper.py +0 -0
  37. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/rich_helper.py +0 -0
  38. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/run.py +0 -0
  39. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  40. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  41. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_commander.py +0 -0
  42. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_install.py +0 -0
  43. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  44. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  45. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  46. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  47. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  48. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  49. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_print.py +0 -0
  50. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  51. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/__init__.py +0 -0
  52. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/application_manager.py +0 -0
  53. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/browser_launcher.py +0 -0
  54. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/capabilities_parser.py +0 -0
  55. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/colored_traceback.py +0 -0
  56. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/create_db_tables.sql +0 -0
  57. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/detect_b_ver.py +0 -0
  58. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/download_helper.py +0 -0
  59. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/encoded_images.py +0 -0
  60. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/jqc_helper.py +0 -0
  61. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/log_helper.py +0 -0
  62. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/mysql.py +0 -0
  63. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/proxy_helper.py +0 -0
  64. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/recorder_helper.py +0 -0
  65. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/report_helper.py +0 -0
  66. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/s3_manager.py +0 -0
  67. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/sb_cdp.py +0 -0
  68. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/sb_driver.py +0 -0
  69. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/session_helper.py +0 -0
  70. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/settings_parser.py +0 -0
  71. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/style_sheet.py +0 -0
  72. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/testcase_manager.py +0 -0
  73. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/tour_helper.py +0 -0
  74. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/core/visual_helper.py +0 -0
  75. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/drivers/__init__.py +0 -0
  76. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
  77. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
  78. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/extensions/__init__.py +0 -0
  79. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/extensions/ad_block.zip +0 -0
  80. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/extensions/disable_csp.zip +0 -0
  81. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/extensions/recorder.zip +0 -0
  82. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/extensions/sbase_ext.zip +0 -0
  83. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/__init__.py +0 -0
  84. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/constants.py +0 -0
  85. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  86. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/errors.py +0 -0
  87. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/js_utils.py +0 -0
  88. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/page_actions.py +0 -0
  89. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/page_utils.py +0 -0
  90. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/shared_utils.py +0 -0
  91. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/unittest_helper.py +0 -0
  92. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/words.py +0 -0
  93. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  94. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/js_code/__init__.py +0 -0
  95. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/js_code/active_css_js.py +0 -0
  96. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/js_code/live_js.py +0 -0
  97. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/js_code/recorder_js.py +0 -0
  98. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/masterqa/__init__.py +0 -0
  99. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/masterqa/master_qa.py +0 -0
  100. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/__init__.py +0 -0
  101. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/base_plugin.py +0 -0
  102. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/basic_test_info.py +0 -0
  103. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  104. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/driver_manager.py +0 -0
  105. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/page_source.py +0 -0
  106. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  107. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/sb_manager.py +0 -0
  108. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/screen_shots.py +0 -0
  109. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/plugins/selenium_plugin.py +0 -0
  110. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/resources/__init__.py +0 -0
  111. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/__init__.py +0 -0
  112. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/chinese.py +0 -0
  113. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/dutch.py +0 -0
  114. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/french.py +0 -0
  115. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/italian.py +0 -0
  116. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/japanese.py +0 -0
  117. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/korean.py +0 -0
  118. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/master_dict.py +0 -0
  119. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/portuguese.py +0 -0
  120. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/russian.py +0 -0
  121. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/spanish.py +0 -0
  122. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/translate/translator.py +0 -0
  123. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/__init__.py +0 -0
  124. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp.py +0 -0
  125. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  126. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  127. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  128. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  129. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  130. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  131. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  132. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  133. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/dprocess.py +0 -0
  134. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/options.py +0 -0
  135. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/patcher.py +0 -0
  136. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/reactor.py +0 -0
  137. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/undetected/webelement.py +0 -0
  138. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/__init__.py +0 -0
  139. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  140. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  141. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  142. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  143. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  144. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  145. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  146. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  147. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  148. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  149. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  150. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  151. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  152. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase.egg-info/SOURCES.txt +0 -0
  153. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase.egg-info/dependency_links.txt +0 -0
  154. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase.egg-info/entry_points.txt +0 -0
  155. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/seleniumbase.egg-info/top_level.txt +0 -0
  156. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/setup.cfg +0 -0
  157. {seleniumbase-4.41.4 → seleniumbase-4.41.6}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.41.4
3
+ Version: 4.41.6
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
@@ -75,7 +75,7 @@ Requires-Dist: filelock~=3.16.1; python_version < "3.9"
75
75
  Requires-Dist: filelock>=3.19.1; python_version >= "3.9"
76
76
  Requires-Dist: fasteners>=0.20
77
77
  Requires-Dist: mycdp>=1.2.0
78
- Requires-Dist: pynose>=1.5.4
78
+ Requires-Dist: pynose>=1.5.5
79
79
  Requires-Dist: platformdirs>=4.3.6; python_version < "3.9"
80
80
  Requires-Dist: platformdirs>=4.4.0; python_version >= "3.9"
81
81
  Requires-Dist: typing-extensions>=4.13.2
@@ -98,15 +98,15 @@ Requires-Dist: charset-normalizer<4,>=3.4.3
98
98
  Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
99
99
  Requires-Dist: urllib3<2.6.0,>=1.26.20; python_version >= "3.10"
100
100
  Requires-Dist: requests==2.32.4; python_version < "3.9"
101
- Requires-Dist: requests<2.33,>=2.32.5; python_version >= "3.9"
101
+ Requires-Dist: requests~=2.32.5; python_version >= "3.9"
102
102
  Requires-Dist: sniffio==1.3.1
103
103
  Requires-Dist: h11==0.16.0
104
104
  Requires-Dist: outcome==1.3.0.post0
105
105
  Requires-Dist: trio==0.27.0; python_version < "3.9"
106
- Requires-Dist: trio==0.30.0; python_version >= "3.9"
107
- Requires-Dist: trio-websocket==0.12.2
106
+ Requires-Dist: trio~=0.30.0; python_version >= "3.9"
107
+ Requires-Dist: trio-websocket~=0.12.2
108
108
  Requires-Dist: wsproto==1.2.0
109
- Requires-Dist: websocket-client==1.8.0
109
+ Requires-Dist: websocket-client~=1.8.0
110
110
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
111
111
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
112
112
  Requires-Dist: selenium==4.35.0; python_version >= "3.10"
@@ -145,7 +145,7 @@ Provides-Extra: coverage
145
145
  Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
146
146
  Requires-Dist: coverage>=7.10.6; python_version >= "3.9" and extra == "coverage"
147
147
  Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
148
- Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
148
+ Requires-Dist: pytest-cov>=7.0.0; python_version >= "3.9" and extra == "coverage"
149
149
  Provides-Extra: flake8
150
150
  Requires-Dist: flake8==5.0.4; python_version < "3.9" and extra == "flake8"
151
151
  Requires-Dist: flake8==7.3.0; python_version >= "3.9" and extra == "flake8"
@@ -165,8 +165,10 @@ Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfm
165
165
  Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
166
166
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
167
167
  Requires-Dist: cryptography==45.0.7; python_version >= "3.9" and extra == "pdfminer"
168
- Requires-Dist: cffi==1.17.1; extra == "pdfminer"
169
- Requires-Dist: pycparser==2.22; extra == "pdfminer"
168
+ Requires-Dist: cffi==1.17.1; python_version < "3.9" and extra == "pdfminer"
169
+ Requires-Dist: cffi==2.0.0; python_version >= "3.9" and extra == "pdfminer"
170
+ Requires-Dist: pycparser==2.22; python_version < "3.9" and extra == "pdfminer"
171
+ Requires-Dist: pycparser==2.23; python_version >= "3.9" and extra == "pdfminer"
170
172
  Provides-Extra: pillow
171
173
  Requires-Dist: Pillow>=10.4.0; python_version < "3.9" and extra == "pillow"
172
174
  Requires-Dist: Pillow>=11.3.0; python_version >= "3.9" and extra == "pillow"
@@ -13,7 +13,7 @@ filelock~=3.16.1;python_version<"3.9"
13
13
  filelock>=3.19.1;python_version>="3.9"
14
14
  fasteners>=0.20
15
15
  mycdp>=1.2.0
16
- pynose>=1.5.4
16
+ pynose>=1.5.5
17
17
  platformdirs>=4.3.6;python_version<"3.9"
18
18
  platformdirs>=4.4.0;python_version>="3.9"
19
19
  typing-extensions>=4.13.2
@@ -36,15 +36,15 @@ charset-normalizer>=3.4.3,<4
36
36
  urllib3>=1.26.20,<2;python_version<"3.10"
37
37
  urllib3>=1.26.20,<2.6.0;python_version>="3.10"
38
38
  requests==2.32.4;python_version<"3.9"
39
- requests>=2.32.5,<2.33;python_version>="3.9"
39
+ requests~=2.32.5;python_version>="3.9"
40
40
  sniffio==1.3.1
41
41
  h11==0.16.0
42
42
  outcome==1.3.0.post0
43
43
  trio==0.27.0;python_version<"3.9"
44
- trio==0.30.0;python_version>="3.9"
45
- trio-websocket==0.12.2
44
+ trio~=0.30.0;python_version>="3.9"
45
+ trio-websocket~=0.12.2
46
46
  wsproto==1.2.0
47
- websocket-client==1.8.0
47
+ websocket-client~=1.8.0
48
48
  selenium==4.27.1;python_version<"3.9"
49
49
  selenium==4.32.0;python_version>="3.9" and python_version<"3.10"
50
50
  selenium==4.35.0;python_version>="3.10"
@@ -82,7 +82,7 @@ rich>=14.1.0,<15
82
82
  coverage>=7.6.1;python_version<"3.9"
83
83
  coverage>=7.10.6;python_version>="3.9"
84
84
  pytest-cov>=5.0.0;python_version<"3.9"
85
- pytest-cov>=6.2.1;python_version>="3.9"
85
+ pytest-cov>=7.0.0;python_version>="3.9"
86
86
  flake8==5.0.4;python_version<"3.9"
87
87
  flake8==7.3.0;python_version>="3.9"
88
88
  mccabe==0.7.0
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.41.4"
2
+ __version__ = "4.41.6"
@@ -7245,6 +7245,7 @@ class BaseCase(unittest.TestCase):
7245
7245
  page_search = [page]
7246
7246
  else:
7247
7247
  page_search = None
7248
+ logging.getLogger("pdfminer").setLevel(logging.ERROR)
7248
7249
  pdf_text = extract_text(
7249
7250
  file_path,
7250
7251
  password="",
@@ -7552,6 +7553,47 @@ class BaseCase(unittest.TestCase):
7552
7553
  folder = constants.Files.DOWNLOADS_FOLDER
7553
7554
  return page_utils._get_file_data(folder, file_name)
7554
7555
 
7556
+ def print_to_pdf(self, name, folder=None):
7557
+ """Saves the current page as a PDF.
7558
+ If no folder is specified, uses the folder where pytest was called.
7559
+ If the folder provided doesn't exist, it will get created.
7560
+ @Params
7561
+ name - The name to give the PDF file. Must end in ".pdf".
7562
+ folder - The directory where you want to save the PDF."""
7563
+ import base64
7564
+ from selenium.webdriver.common.print_page_options import PrintOptions
7565
+
7566
+ if not name.lower().endswith(".pdf"):
7567
+ raise Exception('PDF name {%s} must end in ".pdf"!)' % name)
7568
+ download_file_lock = fasteners.InterProcessLock(
7569
+ constants.MultiBrowser.DOWNLOAD_FILE_LOCK
7570
+ )
7571
+ if self.__is_cdp_swap_needed():
7572
+ with download_file_lock:
7573
+ with suppress(Exception):
7574
+ shared_utils.make_writable(
7575
+ constants.MultiBrowser.DOWNLOAD_FILE_LOCK
7576
+ )
7577
+ if folder and not os.path.exists(folder):
7578
+ os.makedirs(folder)
7579
+ self.cdp.print_to_pdf(name, folder)
7580
+ return
7581
+ self.wait_for_ready_state_complete()
7582
+ print_options = PrintOptions()
7583
+ pdf_base64 = self.driver.print_page(print_options)
7584
+ with download_file_lock:
7585
+ with suppress(Exception):
7586
+ shared_utils.make_writable(
7587
+ constants.MultiBrowser.DOWNLOAD_FILE_LOCK
7588
+ )
7589
+ if folder and not os.path.exists(folder):
7590
+ os.makedirs(folder)
7591
+ filename = name
7592
+ if folder:
7593
+ filename = os.path.join(folder, name)
7594
+ with open(filename, "wb") as f:
7595
+ f.write(base64.b64decode(pdf_base64))
7596
+
7555
7597
  def get_downloads_folder(self):
7556
7598
  """Returns the path of the SeleniumBase "downloaded_files/" folder.
7557
7599
  Calling self.download_file(file_url) will put that file in here.
@@ -2506,8 +2506,13 @@ def pytest_unconfigure(config):
2506
2506
  reporter = config.pluginmanager.get_plugin("terminalreporter")
2507
2507
  if (
2508
2508
  not hasattr(reporter, "_sessionstarttime")
2509
- and not hasattr(reporter, "_session_start")
2510
- and not hasattr(reporter._session_start, "time")
2509
+ and (
2510
+ not hasattr(reporter, "_session_start")
2511
+ or (
2512
+ hasattr(reporter, "_session_start")
2513
+ and not hasattr(reporter._session_start, "time")
2514
+ )
2515
+ )
2511
2516
  ):
2512
2517
  return
2513
2518
  if hasattr(sb_config, "_multithreaded") and sb_config._multithreaded:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.41.4
3
+ Version: 4.41.6
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
@@ -75,7 +75,7 @@ Requires-Dist: filelock~=3.16.1; python_version < "3.9"
75
75
  Requires-Dist: filelock>=3.19.1; python_version >= "3.9"
76
76
  Requires-Dist: fasteners>=0.20
77
77
  Requires-Dist: mycdp>=1.2.0
78
- Requires-Dist: pynose>=1.5.4
78
+ Requires-Dist: pynose>=1.5.5
79
79
  Requires-Dist: platformdirs>=4.3.6; python_version < "3.9"
80
80
  Requires-Dist: platformdirs>=4.4.0; python_version >= "3.9"
81
81
  Requires-Dist: typing-extensions>=4.13.2
@@ -98,15 +98,15 @@ Requires-Dist: charset-normalizer<4,>=3.4.3
98
98
  Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
99
99
  Requires-Dist: urllib3<2.6.0,>=1.26.20; python_version >= "3.10"
100
100
  Requires-Dist: requests==2.32.4; python_version < "3.9"
101
- Requires-Dist: requests<2.33,>=2.32.5; python_version >= "3.9"
101
+ Requires-Dist: requests~=2.32.5; python_version >= "3.9"
102
102
  Requires-Dist: sniffio==1.3.1
103
103
  Requires-Dist: h11==0.16.0
104
104
  Requires-Dist: outcome==1.3.0.post0
105
105
  Requires-Dist: trio==0.27.0; python_version < "3.9"
106
- Requires-Dist: trio==0.30.0; python_version >= "3.9"
107
- Requires-Dist: trio-websocket==0.12.2
106
+ Requires-Dist: trio~=0.30.0; python_version >= "3.9"
107
+ Requires-Dist: trio-websocket~=0.12.2
108
108
  Requires-Dist: wsproto==1.2.0
109
- Requires-Dist: websocket-client==1.8.0
109
+ Requires-Dist: websocket-client~=1.8.0
110
110
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
111
111
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
112
112
  Requires-Dist: selenium==4.35.0; python_version >= "3.10"
@@ -145,7 +145,7 @@ Provides-Extra: coverage
145
145
  Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
146
146
  Requires-Dist: coverage>=7.10.6; python_version >= "3.9" and extra == "coverage"
147
147
  Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
148
- Requires-Dist: pytest-cov>=6.2.1; python_version >= "3.9" and extra == "coverage"
148
+ Requires-Dist: pytest-cov>=7.0.0; python_version >= "3.9" and extra == "coverage"
149
149
  Provides-Extra: flake8
150
150
  Requires-Dist: flake8==5.0.4; python_version < "3.9" and extra == "flake8"
151
151
  Requires-Dist: flake8==7.3.0; python_version >= "3.9" and extra == "flake8"
@@ -165,8 +165,10 @@ Requires-Dist: pdfminer.six==20250324; python_version < "3.9" and extra == "pdfm
165
165
  Requires-Dist: pdfminer.six==20250506; python_version >= "3.9" and extra == "pdfminer"
166
166
  Requires-Dist: cryptography==39.0.2; python_version < "3.9" and extra == "pdfminer"
167
167
  Requires-Dist: cryptography==45.0.7; python_version >= "3.9" and extra == "pdfminer"
168
- Requires-Dist: cffi==1.17.1; extra == "pdfminer"
169
- Requires-Dist: pycparser==2.22; extra == "pdfminer"
168
+ Requires-Dist: cffi==1.17.1; python_version < "3.9" and extra == "pdfminer"
169
+ Requires-Dist: cffi==2.0.0; python_version >= "3.9" and extra == "pdfminer"
170
+ Requires-Dist: pycparser==2.22; python_version < "3.9" and extra == "pdfminer"
171
+ Requires-Dist: pycparser==2.23; python_version >= "3.9" and extra == "pdfminer"
170
172
  Provides-Extra: pillow
171
173
  Requires-Dist: Pillow>=10.4.0; python_version < "3.9" and extra == "pillow"
172
174
  Requires-Dist: Pillow>=11.3.0; python_version >= "3.9" and extra == "pillow"
@@ -5,7 +5,7 @@ certifi>=2025.8.3
5
5
  exceptiongroup>=1.3.0
6
6
  fasteners>=0.20
7
7
  mycdp>=1.2.0
8
- pynose>=1.5.4
8
+ pynose>=1.5.5
9
9
  typing-extensions>=4.13.2
10
10
  sbvirtualdisplay>=1.4.0
11
11
  Jinja2>=3.1.6
@@ -23,9 +23,9 @@ charset-normalizer<4,>=3.4.3
23
23
  sniffio==1.3.1
24
24
  h11==0.16.0
25
25
  outcome==1.3.0.post0
26
- trio-websocket==0.12.2
26
+ trio-websocket~=0.12.2
27
27
  wsproto==1.2.0
28
- websocket-client==1.8.0
28
+ websocket-client~=1.8.0
29
29
  sortedcontainers==2.4.0
30
30
  execnet==2.1.1
31
31
  iniconfig==2.1.0
@@ -78,8 +78,8 @@ websockets>=15.0.1
78
78
  filelock>=3.19.1
79
79
  platformdirs>=4.4.0
80
80
  MarkupSafe>=3.0.2
81
- requests<2.33,>=2.32.5
82
- trio==0.30.0
81
+ requests~=2.32.5
82
+ trio~=0.30.0
83
83
  cssselect==1.3.0
84
84
  pluggy==1.6.0
85
85
  pytest==8.4.2
@@ -103,7 +103,7 @@ pytest-cov>=5.0.0
103
103
 
104
104
  [coverage:python_version >= "3.9"]
105
105
  coverage>=7.10.6
106
- pytest-cov>=6.2.1
106
+ pytest-cov>=7.0.0
107
107
 
108
108
  [flake8]
109
109
  mccabe==0.7.0
@@ -131,16 +131,18 @@ mss==9.0.2
131
131
  mss==10.0.0
132
132
 
133
133
  [pdfminer]
134
- cffi==1.17.1
135
- pycparser==2.22
136
134
 
137
135
  [pdfminer:python_version < "3.9"]
138
136
  pdfminer.six==20250324
139
137
  cryptography==39.0.2
138
+ cffi==1.17.1
139
+ pycparser==2.22
140
140
 
141
141
  [pdfminer:python_version >= "3.9"]
142
142
  pdfminer.six==20250506
143
143
  cryptography==45.0.7
144
+ cffi==2.0.0
145
+ pycparser==2.23
144
146
 
145
147
  [pillow]
146
148
 
@@ -161,7 +161,7 @@ setup(
161
161
  'filelock>=3.19.1;python_version>="3.9"',
162
162
  'fasteners>=0.20',
163
163
  "mycdp>=1.2.0",
164
- "pynose>=1.5.4",
164
+ "pynose>=1.5.5",
165
165
  'platformdirs>=4.3.6;python_version<"3.9"',
166
166
  'platformdirs>=4.4.0;python_version>="3.9"',
167
167
  'typing-extensions>=4.13.2',
@@ -184,15 +184,15 @@ setup(
184
184
  'urllib3>=1.26.20,<2;python_version<"3.10"',
185
185
  'urllib3>=1.26.20,<2.6.0;python_version>="3.10"',
186
186
  'requests==2.32.4;python_version<"3.9"',
187
- 'requests>=2.32.5,<2.33;python_version>="3.9"',
187
+ 'requests~=2.32.5;python_version>="3.9"',
188
188
  'sniffio==1.3.1',
189
189
  'h11==0.16.0',
190
190
  'outcome==1.3.0.post0',
191
191
  'trio==0.27.0;python_version<"3.9"',
192
- 'trio==0.30.0;python_version>="3.9"',
193
- 'trio-websocket==0.12.2',
192
+ 'trio~=0.30.0;python_version>="3.9"',
193
+ 'trio-websocket~=0.12.2',
194
194
  'wsproto==1.2.0',
195
- 'websocket-client==1.8.0',
195
+ 'websocket-client~=1.8.0',
196
196
  'selenium==4.27.1;python_version<"3.9"',
197
197
  'selenium==4.32.0;python_version>="3.9" and python_version<"3.10"',
198
198
  'selenium==4.35.0;python_version>="3.10"',
@@ -239,7 +239,7 @@ setup(
239
239
  'coverage>=7.6.1;python_version<"3.9"',
240
240
  'coverage>=7.10.6;python_version>="3.9"',
241
241
  'pytest-cov>=5.0.0;python_version<"3.9"',
242
- 'pytest-cov>=6.2.1;python_version>="3.9"',
242
+ 'pytest-cov>=7.0.0;python_version>="3.9"',
243
243
  ],
244
244
  # pip install -e .[flake8]
245
245
  # Usage: flake8
@@ -271,8 +271,10 @@ setup(
271
271
  'pdfminer.six==20250506;python_version>="3.9"',
272
272
  'cryptography==39.0.2;python_version<"3.9"',
273
273
  'cryptography==45.0.7;python_version>="3.9"',
274
- 'cffi==1.17.1',
275
- "pycparser==2.22",
274
+ 'cffi==1.17.1;python_version<"3.9"',
275
+ 'cffi==2.0.0;python_version>="3.9"',
276
+ 'pycparser==2.22;python_version<"3.9"',
277
+ 'pycparser==2.23;python_version>="3.9"',
276
278
  ],
277
279
  # pip install -e .[pillow]
278
280
  # (An optional library for image-processing.)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes