MCPcopy Create free account
hub / github.com/seleniumbase/SeleniumBase / __click_with_offset

Method __click_with_offset

seleniumbase/fixtures/base_case.py:14445–14576  ·  view source on GitHub ↗
(
        self,
        selector,
        x,
        y,
        by="css selector",
        double=False,
        mark=None,
        timeout=None,
        center=None,
        scroll=True,
    )

Source from the content-addressed store, hash-verified

14443 self.execute_script(script)
14444
14445 def __click_with_offset(
14446 self,
14447 selector,
14448 x,
14449 y,
14450 by="css selector",
14451 double=False,
14452 mark=None,
14453 timeout=None,
14454 center=None,
14455 scroll=True,
14456 ):
14457 if self.__is_cdp_swap_needed():
14458 self.cdp.click_with_offset(
14459 selector, x, y, center=center, scroll=scroll
14460 )
14461 return
14462 self.wait_for_ready_state_complete()
14463 if self.__needs_minimum_wait():
14464 time.sleep(0.14)
14465 if not timeout:
14466 timeout = settings.SMALL_TIMEOUT
14467 if self.timeout_multiplier and timeout == settings.SMALL_TIMEOUT:
14468 timeout = self.__get_new_timeout(timeout)
14469 selector, by = self.__recalculate_selector(selector, by)
14470 element = page_actions.wait_for_element_visible(
14471 self.driver, selector, by, timeout
14472 )
14473 if self.demo_mode:
14474 self.__highlight(selector, by=by, loops=1)
14475 elif self.slow_mode:
14476 if scroll:
14477 self.__slow_scroll_to_element(element)
14478 else:
14479 self.sleep(0.2)
14480 else:
14481 if scroll:
14482 self.__scroll_to_element(element, selector, by)
14483 self.wait_for_ready_state_complete()
14484 if self.__needs_minimum_wait():
14485 time.sleep(0.03)
14486 if self.demo_mode and mark is None:
14487 mark = True
14488 if mark:
14489 selector = self.convert_to_css_selector(selector, by=by)
14490 selector = re.escape(selector)
14491 selector = self.__escape_quotes_if_needed(selector)
14492 m_x = x
14493 m_y = y
14494 if center:
14495 element_rect = element.rect
14496 left_offset = element_rect["width"] / 2
14497 top_offset = element_rect["height"] / 2
14498 m_x = left_offset + (m_x or 0)
14499 m_y = top_offset + (m_y or 0)
14500 px = m_x - 3
14501 py = m_y - 3
14502 script = (

Callers 2

click_with_offsetMethod · 0.95

Calls 15

__is_cdp_swap_neededMethod · 0.95
__needs_minimum_waitMethod · 0.95
sleepMethod · 0.95
__get_new_timeoutMethod · 0.95
__highlightMethod · 0.95
__scroll_to_elementMethod · 0.95
execute_scriptMethod · 0.95

Tested by

no test coverage detected