diff --git a/src/widgetastic/browser.py b/src/widgetastic/browser.py index 4856e88e..89de4a88 100644 --- a/src/widgetastic/browser.py +++ b/src/widgetastic/browser.py @@ -4,7 +4,6 @@ import inspect import six import time - from cached_property import cached_property from collections import namedtuple from jsmin import jsmin @@ -23,9 +22,8 @@ StaleElementReferenceException, NoAlertPresentException, LocatorNotImplemented, WebDriverException) from .log import create_widget_logger, null_logger -from .xpath import normalize_space from .utils import crop_string_middle - +from .xpath import normalize_space Size = namedtuple('Size', ['width', 'height']) Location = namedtuple('Location', ['x', 'y']) @@ -351,10 +349,15 @@ def click(self, locator, *args, **kwargs): """ self.logger.debug('click: %r', locator) ignore_ajax = kwargs.pop('ignore_ajax', False) + nav_click = kwargs.pop('nav_click', False) el = self.move_to_element(locator, *args, **kwargs) self.plugin.before_click(el) # and then click on current mouse position - self.perform_click() + if nav_click and self.browser_type.lower() == 'firefox' and self.browser_version > 52: + el.click() + time.sleep(1) + else: + self.perform_click() if not ignore_ajax: try: self.plugin.ensure_page_safe()