seleniumbase 4.40.1__tar.gz → 4.40.2__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.40.1/seleniumbase.egg-info → seleniumbase-4.40.2}/PKG-INFO +2 -2
  2. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/requirements.txt +1 -1
  3. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/sbase/steps.py +9 -0
  4. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/__version__.py +1 -1
  5. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/behave/behave_helper.py +2 -0
  6. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/recorder_helper.py +3 -0
  7. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/base_case.py +36 -0
  8. {seleniumbase-4.40.1 → seleniumbase-4.40.2/seleniumbase.egg-info}/PKG-INFO +2 -2
  9. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase.egg-info/requires.txt +1 -1
  10. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/setup.py +1 -1
  11. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/.gitignore +0 -0
  12. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/LICENSE +0 -0
  13. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/MANIFEST.in +0 -0
  14. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/README.md +0 -0
  15. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/install.sh +0 -0
  16. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/pyproject.toml +0 -0
  17. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/pytest.ini +0 -0
  18. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/sbase/__init__.py +0 -0
  19. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/sbase/__main__.py +0 -0
  20. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/__init__.py +0 -0
  21. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/__main__.py +0 -0
  22. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/behave/__init__.py +0 -0
  23. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/behave/behave_sb.py +0 -0
  24. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/behave/steps.py +0 -0
  25. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/common/__init__.py +0 -0
  26. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/common/decorators.py +0 -0
  27. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/common/encryption.py +0 -0
  28. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/common/exceptions.py +0 -0
  29. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/common/obfuscate.py +0 -0
  30. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/common/unobfuscate.py +0 -0
  31. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/config/__init__.py +0 -0
  32. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/config/ad_block_list.py +0 -0
  33. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/config/proxy_list.py +0 -0
  34. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/config/settings.py +0 -0
  35. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/__init__.py +0 -0
  36. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/logo_helper.py +0 -0
  37. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/rich_helper.py +0 -0
  38. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/run.py +0 -0
  39. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  40. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  41. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_commander.py +0 -0
  42. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_install.py +0 -0
  43. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  44. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_mkdir.py +0 -0
  45. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  46. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  47. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  48. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  49. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_print.py +0 -0
  50. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  51. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/__init__.py +0 -0
  52. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/application_manager.py +0 -0
  53. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/browser_launcher.py +0 -0
  54. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/capabilities_parser.py +0 -0
  55. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/colored_traceback.py +0 -0
  56. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/create_db_tables.sql +0 -0
  57. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/detect_b_ver.py +0 -0
  58. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/download_helper.py +0 -0
  59. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/encoded_images.py +0 -0
  60. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/jqc_helper.py +0 -0
  61. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/log_helper.py +0 -0
  62. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/mysql.py +0 -0
  63. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/proxy_helper.py +0 -0
  64. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/report_helper.py +0 -0
  65. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/s3_manager.py +0 -0
  66. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/sb_cdp.py +0 -0
  67. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/sb_driver.py +0 -0
  68. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/session_helper.py +0 -0
  69. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/settings_parser.py +0 -0
  70. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/style_sheet.py +0 -0
  71. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/testcase_manager.py +0 -0
  72. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/tour_helper.py +0 -0
  73. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/core/visual_helper.py +0 -0
  74. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/drivers/__init__.py +0 -0
  75. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/drivers/cft_drivers/__init__.py +0 -0
  76. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/drivers/chs_drivers/__init__.py +0 -0
  77. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/extensions/__init__.py +0 -0
  78. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/extensions/ad_block.zip +0 -0
  79. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/extensions/disable_csp.zip +0 -0
  80. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/extensions/recorder.zip +0 -0
  81. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/extensions/sbase_ext.zip +0 -0
  82. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/__init__.py +0 -0
  83. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/constants.py +0 -0
  84. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  85. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/errors.py +0 -0
  86. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/js_utils.py +0 -0
  87. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/page_actions.py +0 -0
  88. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/page_utils.py +0 -0
  89. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/shared_utils.py +0 -0
  90. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/unittest_helper.py +0 -0
  91. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/words.py +0 -0
  92. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  93. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/js_code/__init__.py +0 -0
  94. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/js_code/active_css_js.py +0 -0
  95. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/js_code/live_js.py +0 -0
  96. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/js_code/recorder_js.py +0 -0
  97. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/masterqa/__init__.py +0 -0
  98. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/masterqa/master_qa.py +0 -0
  99. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/__init__.py +0 -0
  100. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/base_plugin.py +0 -0
  101. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/basic_test_info.py +0 -0
  102. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  103. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/driver_manager.py +0 -0
  104. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/page_source.py +0 -0
  105. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/pytest_plugin.py +0 -0
  106. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  107. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/sb_manager.py +0 -0
  108. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/screen_shots.py +0 -0
  109. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/plugins/selenium_plugin.py +0 -0
  110. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/resources/__init__.py +0 -0
  111. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/__init__.py +0 -0
  112. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/chinese.py +0 -0
  113. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/dutch.py +0 -0
  114. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/french.py +0 -0
  115. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/italian.py +0 -0
  116. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/japanese.py +0 -0
  117. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/korean.py +0 -0
  118. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/master_dict.py +0 -0
  119. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/portuguese.py +0 -0
  120. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/russian.py +0 -0
  121. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/spanish.py +0 -0
  122. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/translate/translator.py +0 -0
  123. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/__init__.py +0 -0
  124. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp.py +0 -0
  125. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  126. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  127. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  128. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  129. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  130. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  131. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  132. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  133. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/dprocess.py +0 -0
  134. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/options.py +0 -0
  135. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/patcher.py +0 -0
  136. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/reactor.py +0 -0
  137. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/undetected/webelement.py +0 -0
  138. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/__init__.py +0 -0
  139. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  140. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  141. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  142. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  143. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  144. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  145. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  146. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  147. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  148. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  149. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  150. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  151. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  152. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase.egg-info/SOURCES.txt +0 -0
  153. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase.egg-info/dependency_links.txt +0 -0
  154. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase.egg-info/entry_points.txt +0 -0
  155. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/seleniumbase.egg-info/top_level.txt +0 -0
  156. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/setup.cfg +0 -0
  157. {seleniumbase-4.40.1 → seleniumbase-4.40.2}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.40.1
3
+ Version: 4.40.2
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
@@ -108,7 +108,7 @@ Requires-Dist: wsproto==1.2.0
108
108
  Requires-Dist: websocket-client==1.8.0
109
109
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
110
110
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
111
- Requires-Dist: selenium==4.34.1; python_version >= "3.10"
111
+ Requires-Dist: selenium==4.34.2; python_version >= "3.10"
112
112
  Requires-Dist: cssselect==1.2.0; python_version < "3.9"
113
113
  Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
114
114
  Requires-Dist: sortedcontainers==2.4.0
@@ -46,7 +46,7 @@ wsproto==1.2.0
46
46
  websocket-client==1.8.0
47
47
  selenium==4.27.1;python_version<"3.9"
48
48
  selenium==4.32.0;python_version>="3.9" and python_version<"3.10"
49
- selenium==4.34.1;python_version>="3.10"
49
+ selenium==4.34.2;python_version>="3.10"
50
50
  cssselect==1.2.0;python_version<"3.9"
51
51
  cssselect==1.3.0;python_version>="3.9"
52
52
  sortedcontainers==2.4.0
@@ -1191,6 +1191,15 @@ def set_attributes(context, selector, attribute, value):
1191
1191
  sb.set_attributes(selector, attribute, value)
1192
1192
 
1193
1193
 
1194
+ @step("Save page source to logs")
1195
+ @step("Save the page source to the logs")
1196
+ @step("User saves page source to logs")
1197
+ @step("User saves the page source to the logs")
1198
+ def save_page_source_to_logs(context):
1199
+ sb = context.sb
1200
+ sb.save_page_source_to_logs()
1201
+
1202
+
1194
1203
  @step("Activate CDP Mode")
1195
1204
  @step("User activates CDP Mode")
1196
1205
  def activate_cdp_mode(context):
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.40.1"
2
+ __version__ = "4.40.2"
@@ -522,6 +522,8 @@ def generate_gherkin(srt_actions):
522
522
  )
523
523
  elif action[0] == "ss_tl":
524
524
  sb_actions.append("Save screenshot to logs")
525
+ elif action[0] == "spstl":
526
+ sb_actions.append("Save page source to logs")
525
527
  elif action[0] == "sh_fc":
526
528
  sb_actions.append("Show file choosers")
527
529
  elif action[0] == "pr_da":
@@ -556,6 +556,9 @@ def generate_sbase_code(srt_actions):
556
556
  elif action[0] == "ss_tl":
557
557
  method = "save_screenshot_to_logs"
558
558
  sb_actions.append("self.%s()" % method)
559
+ elif action[0] == "spstl":
560
+ method = "save_page_source_to_logs"
561
+ sb_actions.append("self.%s()" % method)
559
562
  elif action[0] == "sh_fc":
560
563
  method = "show_file_choosers"
561
564
  sb_actions.append("self.%s()" % method)
@@ -132,6 +132,7 @@ class BaseCase(unittest.TestCase):
132
132
  self.__called_teardown = False
133
133
  self.__start_time_ms = int(time.time() * 1000.0)
134
134
  self.__requests_timeout = None
135
+ self.__page_source_count = 0
135
136
  self.__screenshot_count = 0
136
137
  self.__logs_data_count = 0
137
138
  self.__last_data_file = None
@@ -4512,6 +4513,40 @@ class BaseCase(unittest.TestCase):
4512
4513
  sb_config._has_logs = True
4513
4514
  return page_actions.save_screenshot(self.driver, name, test_logpath)
4514
4515
 
4516
+ def save_page_source_to_logs(self, name=None):
4517
+ """Saves the page HTML to the "latest_logs/" folder.
4518
+ Naming is automatic:
4519
+ If NO NAME provided: "_1_source.html", "_2_source.html", etc.
4520
+ If NAME IS provided, then: "_1_name.html", "_2_name.html", etc.
4521
+ (The last_page / failure page_source is always "page_source.html")"""
4522
+ if not self.__is_cdp_swap_needed():
4523
+ self.wait_for_ready_state_complete()
4524
+ test_logpath = os.path.join(self.log_path, self.__get_test_id())
4525
+ self.__create_log_path_as_needed(test_logpath)
4526
+ if name:
4527
+ name = str(name)
4528
+ self.__page_source_count += 1
4529
+ if not name or len(name) == 0:
4530
+ name = "_%s_source.html" % self.__page_source_count
4531
+ else:
4532
+ pre_name = "_%s_" % self.__page_source_count
4533
+ if len(name) >= 4 and name[-4:].lower() == ".html":
4534
+ name = name[:-4]
4535
+ if len(name) == 0:
4536
+ name = "source"
4537
+ name = "%s%s.html" % (pre_name, name)
4538
+ if self.recorder_mode:
4539
+ url = self.get_current_url()
4540
+ if url and len(url) > 0:
4541
+ if ("http:") in url or ("https:") in url or ("file:") in url:
4542
+ if self.get_session_storage_item("pause_recorder") == "no":
4543
+ time_stamp = self.execute_script("return Date.now();")
4544
+ origin = self.get_origin()
4545
+ action = ["spstl", "", origin, time_stamp]
4546
+ self.__extra_actions.append(action)
4547
+ sb_config._has_logs = True
4548
+ return page_actions.save_page_source(self.driver, name, test_logpath)
4549
+
4515
4550
  def save_data_to_logs(self, data, file_name=None):
4516
4551
  """Saves data to the "latest_logs/" data folder of the current test.
4517
4552
  If no file_name, file_name becomes: "data_1.txt", "data_2.txt", etc.
@@ -5470,6 +5505,7 @@ class BaseCase(unittest.TestCase):
5470
5505
  ext_actions.append("s_scr")
5471
5506
  ext_actions.append("ss_tf")
5472
5507
  ext_actions.append("ss_tl")
5508
+ ext_actions.append("spstl")
5473
5509
  ext_actions.append("da_el")
5474
5510
  ext_actions.append("da_ep")
5475
5511
  ext_actions.append("da_te")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.40.1
3
+ Version: 4.40.2
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
@@ -108,7 +108,7 @@ Requires-Dist: wsproto==1.2.0
108
108
  Requires-Dist: websocket-client==1.8.0
109
109
  Requires-Dist: selenium==4.27.1; python_version < "3.9"
110
110
  Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
111
- Requires-Dist: selenium==4.34.1; python_version >= "3.10"
111
+ Requires-Dist: selenium==4.34.2; python_version >= "3.10"
112
112
  Requires-Dist: cssselect==1.2.0; python_version < "3.9"
113
113
  Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
114
114
  Requires-Dist: sortedcontainers==2.4.0
@@ -69,7 +69,7 @@ pytest-xdist==3.6.1
69
69
  [:python_version >= "3.10"]
70
70
  setuptools>=80.9.0
71
71
  urllib3<2.6.0,>=1.26.20
72
- selenium==4.34.1
72
+ selenium==4.34.2
73
73
 
74
74
  [:python_version >= "3.9"]
75
75
  pip>=25.1.1
@@ -194,7 +194,7 @@ setup(
194
194
  'websocket-client==1.8.0',
195
195
  'selenium==4.27.1;python_version<"3.9"',
196
196
  'selenium==4.32.0;python_version>="3.9" and python_version<"3.10"',
197
- 'selenium==4.34.1;python_version>="3.10"',
197
+ 'selenium==4.34.2;python_version>="3.10"',
198
198
  'cssselect==1.2.0;python_version<"3.9"',
199
199
  'cssselect==1.3.0;python_version>="3.9"',
200
200
  "sortedcontainers==2.4.0",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes