@@ -474,17 +474,17 @@ def click(
474474 self.wait_for_ready_state_complete()
475475 except Exception:
476476 pass
477- if self.browser == "safari":
478- time.sleep(0.01)
479- self.wait_for_ready_state_complete()
480- time.sleep(0.01)
481477 if self.demo_mode:
482478 if self.driver.current_url != pre_action_url:
483479 self.__demo_mode_pause_if_active()
484480 else:
485481 self.__demo_mode_pause_if_active(tiny=True)
486482 elif self.slow_mode:
487483 self.__slow_mode_pause_if_active()
484+ elif self.browser == "safari":
485+ time.sleep(0.01)
486+ self.wait_for_ready_state_complete()
487+ time.sleep(0.01)
488488
489489 def slow_click(self, selector, by="css selector", timeout=None):
490490 """Similar to click(), but pauses for a brief moment before clicking.
@@ -12252,7 +12252,7 @@ def __click_with_offset(
1225212252 self.execute_script(script)
1225312253 try:
1225412254 element_location = element.location["y"]
12255- element_location = element_location - 130 + y
12255+ element_location = element_location - constants.Scroll.Y_OFFSET + y
1225612256 if element_location < 0:
1225712257 element_location = 0
1225812258 scroll_script = "window.scrollTo(0, %s);" % element_location
@@ -12352,8 +12352,8 @@ def __jquery_slow_scroll_to(self, selector, by="css selector"):
1235212352 selector = self.__make_css_match_first_element_only(selector)
1235312353 scroll_script = (
1235412354 """jQuery([document.documentElement, document.body]).animate({"""
12355- """scrollTop: jQuery('%s').offset().top - 130 }, %s);"""
12356- % (selector, scroll_time_ms)
12355+ """scrollTop: jQuery('%s').offset().top - %s }, %s);"""
12356+ % (selector, constants.Scroll.Y_OFFSET, scroll_time_ms)
1235712357 )
1235812358 if js_utils.is_jquery_activated(self.driver):
1235912359 self.execute_script(scroll_script)
@@ -14022,8 +14022,8 @@ def has_exception(self):
1402214022
1402314023 def save_teardown_screenshot(self):
1402414024 """(Should ONLY be used at the start of custom tearDown() methods.)
14025- This method takes a screenshot of the current web page for a
14026- FAILING test (or when using "--screenshot" / "--save-screenshot").
14025+ This method takes a screenshot of the active page for FAILING tests
14026+ (or when using "--screenshot" / "--save-screenshot" / "--ss ").
1402714027 That way your tearDown() method can navigate away from the last
1402814028 page where the test failed, and still get the correct screenshot
1402914029 before performing tearDown() steps on other pages. If this method
@@ -14040,15 +14040,20 @@ def save_teardown_screenshot(self):
1404014040 if self.recorder_mode:
1404114041 # In case tearDown() leaves the origin, save actions first.
1404214042 self.save_recorded_actions()
14043- if self.__has_exception() or self.save_screenshot_after_test:
14043+ if (
14044+ self.__has_exception()
14045+ or self.save_screenshot_after_test
14046+ or sys.version_info >= (3, 11)
14047+ ):
1404414048 test_logpath = os.path.join(self.log_path, self.__get_test_id())
1404514049 self.__create_log_path_as_needed(test_logpath)
1404614050 self.__set_last_page_screenshot()
1404714051 self.__set_last_page_url()
1404814052 self.__set_last_page_source()
1404914053 sb_config._has_logs = True
14050- if self.is_pytest:
14051- self.__add_pytest_html_extra()
14054+ if self.__has_exception() or self.save_screenshot_after_test:
14055+ if self.is_pytest:
14056+ self.__add_pytest_html_extra()
1405214057
1405314058 def _log_fail_data(self):
1405414059 if sys.version_info < (3, 11):
0 commit comments