(
self,
selector,
x,
y,
by="css selector",
double=False,
mark=None,
timeout=None,
center=None,
scroll=True,
)
| 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 = ( |
no test coverage detected