seleniumbase 4.35.0__tar.gz → 4.35.1__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 (155) hide show
  1. {seleniumbase-4.35.0/seleniumbase.egg-info → seleniumbase-4.35.1}/PKG-INFO +2 -2
  2. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/README.md +1 -1
  3. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/__version__.py +1 -1
  4. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_mkdir.py +3 -0
  5. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/sb_cdp.py +20 -10
  6. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/js_utils.py +2 -0
  7. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/driver_manager.py +2 -2
  8. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/pytest_plugin.py +3 -0
  9. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/sb_manager.py +1 -1
  10. {seleniumbase-4.35.0 → seleniumbase-4.35.1/seleniumbase.egg-info}/PKG-INFO +2 -2
  11. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/.gitignore +0 -0
  12. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/LICENSE +0 -0
  13. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/MANIFEST.in +0 -0
  14. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/install.sh +0 -0
  15. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/pyproject.toml +0 -0
  16. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/pytest.ini +0 -0
  17. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/requirements.txt +0 -0
  18. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/sbase/__init__.py +0 -0
  19. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/sbase/__main__.py +0 -0
  20. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/sbase/steps.py +0 -0
  21. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/__init__.py +0 -0
  22. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/__main__.py +0 -0
  23. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/behave/__init__.py +0 -0
  24. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/behave/behave_helper.py +0 -0
  25. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/behave/behave_sb.py +0 -0
  26. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/behave/steps.py +0 -0
  27. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/common/__init__.py +0 -0
  28. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/common/decorators.py +0 -0
  29. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/common/encryption.py +0 -0
  30. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/common/exceptions.py +0 -0
  31. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/common/obfuscate.py +0 -0
  32. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/common/unobfuscate.py +0 -0
  33. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/config/__init__.py +0 -0
  34. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/config/ad_block_list.py +0 -0
  35. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/config/proxy_list.py +0 -0
  36. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/config/settings.py +0 -0
  37. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/__init__.py +0 -0
  38. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/logo_helper.py +0 -0
  39. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/rich_helper.py +0 -0
  40. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/run.py +0 -0
  41. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_behave_gui.py +0 -0
  42. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_caseplans.py +0 -0
  43. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_commander.py +0 -0
  44. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_install.py +0 -0
  45. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_mkchart.py +0 -0
  46. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_mkfile.py +0 -0
  47. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_mkpres.py +0 -0
  48. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_mkrec.py +0 -0
  49. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_objectify.py +0 -0
  50. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_print.py +0 -0
  51. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/console_scripts/sb_recorder.py +0 -0
  52. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/__init__.py +0 -0
  53. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/application_manager.py +0 -0
  54. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/browser_launcher.py +0 -0
  55. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/capabilities_parser.py +0 -0
  56. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/colored_traceback.py +0 -0
  57. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/create_db_tables.sql +0 -0
  58. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/detect_b_ver.py +0 -0
  59. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/download_helper.py +0 -0
  60. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/encoded_images.py +0 -0
  61. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/jqc_helper.py +0 -0
  62. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/log_helper.py +0 -0
  63. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/mysql.py +0 -0
  64. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/proxy_helper.py +0 -0
  65. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/recorder_helper.py +0 -0
  66. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/report_helper.py +0 -0
  67. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/s3_manager.py +0 -0
  68. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/sb_driver.py +0 -0
  69. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/session_helper.py +0 -0
  70. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/settings_parser.py +0 -0
  71. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/style_sheet.py +0 -0
  72. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/testcase_manager.py +0 -0
  73. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/tour_helper.py +0 -0
  74. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/core/visual_helper.py +0 -0
  75. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/drivers/__init__.py +0 -0
  76. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/extensions/__init__.py +0 -0
  77. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/extensions/ad_block.zip +0 -0
  78. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/extensions/disable_csp.zip +0 -0
  79. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/extensions/recorder.zip +0 -0
  80. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/extensions/sbase_ext.zip +0 -0
  81. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/__init__.py +0 -0
  82. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/base_case.py +0 -0
  83. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/constants.py +0 -0
  84. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/css_to_xpath.py +0 -0
  85. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/errors.py +0 -0
  86. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/page_actions.py +0 -0
  87. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/page_utils.py +0 -0
  88. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/shared_utils.py +0 -0
  89. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/unittest_helper.py +0 -0
  90. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/words.py +0 -0
  91. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/fixtures/xpath_to_css.py +0 -0
  92. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/js_code/__init__.py +0 -0
  93. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/js_code/active_css_js.py +0 -0
  94. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/js_code/live_js.py +0 -0
  95. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/js_code/recorder_js.py +0 -0
  96. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/masterqa/__init__.py +0 -0
  97. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/masterqa/master_qa.py +0 -0
  98. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/__init__.py +0 -0
  99. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/base_plugin.py +0 -0
  100. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/basic_test_info.py +0 -0
  101. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/db_reporting_plugin.py +0 -0
  102. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/page_source.py +0 -0
  103. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/s3_logging_plugin.py +0 -0
  104. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/screen_shots.py +0 -0
  105. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/plugins/selenium_plugin.py +0 -0
  106. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/resources/__init__.py +0 -0
  107. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/__init__.py +0 -0
  108. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/chinese.py +0 -0
  109. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/dutch.py +0 -0
  110. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/french.py +0 -0
  111. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/italian.py +0 -0
  112. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/japanese.py +0 -0
  113. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/korean.py +0 -0
  114. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/master_dict.py +0 -0
  115. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/portuguese.py +0 -0
  116. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/russian.py +0 -0
  117. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/spanish.py +0 -0
  118. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/translate/translator.py +0 -0
  119. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/__init__.py +0 -0
  120. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp.py +0 -0
  121. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/__init__.py +0 -0
  122. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/_contradict.py +0 -0
  123. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/browser.py +0 -0
  124. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/cdp_util.py +0 -0
  125. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/config.py +0 -0
  126. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/connection.py +0 -0
  127. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/element.py +0 -0
  128. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/cdp_driver/tab.py +0 -0
  129. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/dprocess.py +0 -0
  130. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/options.py +0 -0
  131. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/patcher.py +0 -0
  132. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/reactor.py +0 -0
  133. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/undetected/webelement.py +0 -0
  134. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/__init__.py +0 -0
  135. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/__init__.py +0 -0
  136. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/download_selenium_server.py +0 -0
  137. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/font_color +0 -0
  138. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/grid-hub +0 -0
  139. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/grid-node +0 -0
  140. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/grid_hub.py +0 -0
  141. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/grid_node.py +0 -0
  142. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/register-grid-node.bat +0 -0
  143. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/register-grid-node.sh +0 -0
  144. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/start-grid-hub.bat +0 -0
  145. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_grid/start-grid-hub.sh +0 -0
  146. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_ide/__init__.py +0 -0
  147. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase/utilities/selenium_ide/convert_ide.py +0 -0
  148. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase.egg-info/SOURCES.txt +0 -0
  149. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase.egg-info/dependency_links.txt +0 -0
  150. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase.egg-info/entry_points.txt +0 -0
  151. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase.egg-info/requires.txt +0 -0
  152. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/seleniumbase.egg-info/top_level.txt +0 -0
  153. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/setup.cfg +0 -0
  154. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/setup.py +0 -0
  155. {seleniumbase-4.35.0 → seleniumbase-4.35.1}/virtualenv_install.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.35.0
3
+ Version: 4.35.1
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
@@ -265,7 +265,7 @@ Dynamic: summary
265
265
  ```python
266
266
  from seleniumbase import SB
267
267
 
268
- with SB(test=True) as sb:
268
+ with SB(test=True, uc=True) as sb:
269
269
  sb.open("https://google.com/ncr")
270
270
  sb.type('[title="Search"]', "SeleniumBase GitHub page\n")
271
271
  sb.click('[href*="github.com/seleniumbase/"]')
@@ -71,7 +71,7 @@
71
71
  ```python
72
72
  from seleniumbase import SB
73
73
 
74
- with SB(test=True) as sb:
74
+ with SB(test=True, uc=True) as sb:
75
75
  sb.open("https://google.com/ncr")
76
76
  sb.type('[title="Search"]', "SeleniumBase GitHub page\n")
77
77
  sb.click('[href*="github.com/seleniumbase/"]')
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.35.0"
2
+ __version__ = "4.35.1"
@@ -631,10 +631,13 @@ def main():
631
631
  data = []
632
632
  data.append("from seleniumbase import BaseCase")
633
633
  data.append("from .google_objects import HomePage, ResultsPage")
634
+ data.append('BaseCase.main(__name__, __file__, "--uc")')
634
635
  data.append("")
635
636
  data.append("")
636
637
  data.append("class GoogleTests(BaseCase):")
637
638
  data.append(" def test_google_dot_com(self):")
639
+ data.append(" if not self.undetectable:")
640
+ data.append(" self.get_new_driver(undetectable=True)")
638
641
  data.append(' self.open("https://google.com/ncr")')
639
642
  data.append(' self.assert_title_contains("Google")')
640
643
  data.append(" self.sleep(0.05)")
@@ -288,7 +288,7 @@ class CDPMethods():
288
288
  return updated_elements
289
289
 
290
290
  def select(self, selector, timeout=None):
291
- """Similar to find_element(), but without text-based search."""
291
+ """Similar to find_element()."""
292
292
  if not timeout:
293
293
  timeout = settings.SMALL_TIMEOUT
294
294
  self.__add_light_pause()
@@ -297,12 +297,25 @@ class CDPMethods():
297
297
  tag_name = selector.split(":contains(")[0].split(" ")[-1]
298
298
  text = selector.split(":contains(")[1].split(")")[0][1:-1]
299
299
  with suppress(Exception):
300
+ new_timeout = timeout
301
+ if new_timeout < 1:
302
+ new_timeout = 1
300
303
  self.loop.run_until_complete(
301
- self.page.select(tag_name, timeout=5)
304
+ self.page.select(tag_name, timeout=new_timeout)
302
305
  )
303
- self.loop.run_until_complete(self.page.find(text, timeout=5))
304
- element = self.find_elements_by_text(text, tag_name=tag_name)[0]
305
- return self.__add_sync_methods(element)
306
+ self.loop.run_until_complete(
307
+ self.page.find(text, timeout=new_timeout)
308
+ )
309
+ elements = self.find_elements_by_text(text, tag_name=tag_name)
310
+ if not elements:
311
+ plural = "s"
312
+ if timeout == 1:
313
+ plural = ""
314
+ msg = "\n Element {%s} was not found after %s second%s!"
315
+ message = msg % (selector, timeout, plural)
316
+ raise Exception(message)
317
+ element = self.__add_sync_methods(elements[0])
318
+ return element
306
319
  failure = False
307
320
  try:
308
321
  element = self.loop.run_until_complete(
@@ -313,11 +326,8 @@ class CDPMethods():
313
326
  plural = "s"
314
327
  if timeout == 1:
315
328
  plural = ""
316
- message = "\n Element {%s} was not found after %s second%s!" % (
317
- selector,
318
- timeout,
319
- plural,
320
- )
329
+ msg = "\n Element {%s} was not found after %s second%s!"
330
+ message = msg % (selector, timeout, plural)
321
331
  if failure:
322
332
  raise Exception(message)
323
333
  element = self.__add_sync_methods(element)
@@ -950,6 +950,8 @@ def post_message(driver, message, msg_dur=None, style="info"):
950
950
  set_messenger_theme(driver)
951
951
  try:
952
952
  execute_script(driver, messenger_script)
953
+ except TypeError:
954
+ pass
953
955
  except Exception:
954
956
  time.sleep(0.17)
955
957
  activate_messenger(driver)
@@ -10,7 +10,7 @@ Example -->
10
10
  ```python
11
11
  from seleniumbase import DriverContext
12
12
 
13
- with DriverContext() as driver:
13
+ with DriverContext(uc=True) as driver:
14
14
  driver.get("https://google.com/ncr")
15
15
  ```
16
16
 
@@ -30,7 +30,7 @@ Example -->
30
30
  ```python
31
31
  from seleniumbase import Driver
32
32
 
33
- driver = Driver()
33
+ driver = Driver(uc=True)
34
34
  driver.get("https://google.com/ncr")
35
35
  ```
36
36
 
@@ -2496,6 +2496,9 @@ def pytest_unconfigure(config):
2496
2496
  """This runs after all tests have completed with pytest."""
2497
2497
  if "--co" in sys_argv or "--collect-only" in sys_argv:
2498
2498
  return
2499
+ reporter = config.pluginmanager.get_plugin("terminalreporter")
2500
+ if not hasattr(reporter, "_sessionstarttime"):
2501
+ return
2499
2502
  if hasattr(sb_config, "_multithreaded") and sb_config._multithreaded:
2500
2503
  import fasteners
2501
2504
 
@@ -10,7 +10,7 @@ Example -->
10
10
  ```python
11
11
  from seleniumbase import SB
12
12
 
13
- with SB() as sb: # Many args! Eg. SB(browser="edge")
13
+ with SB(uc=True) as sb: # Many args! Eg. SB(browser="edge")
14
14
  sb.open("https://google.com/ncr")
15
15
  sb.type('[name="q"]', "SeleniumBase on GitHub\n")
16
16
  sb.click('a[href*="github.com/seleniumbase"]')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: seleniumbase
3
- Version: 4.35.0
3
+ Version: 4.35.1
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
@@ -265,7 +265,7 @@ Dynamic: summary
265
265
  ```python
266
266
  from seleniumbase import SB
267
267
 
268
- with SB(test=True) as sb:
268
+ with SB(test=True, uc=True) as sb:
269
269
  sb.open("https://google.com/ncr")
270
270
  sb.type('[title="Search"]', "SeleniumBase GitHub page\n")
271
271
  sb.click('[href*="github.com/seleniumbase/"]')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes