from selenium.webdriver.common.actions.action_builder import ActionBuilder from selenium.webdriver.common.actions.pointer_input import PointerInput def tap(driver, x: int, y: int) -> None: finger = PointerInput("touch", "finger") actions = ActionBuilder(driver, mouse=finger) actions.pointer_action.move_to_location(int(x), int(y)) actions.pointer_action.pointer_down() actions.pointer_action.pointer_up() actions.perform() def press_hold(driver, x: float, y: float, hold_s: float = 0.2) -> None: finger = PointerInput("touch", "finger") actions = ActionBuilder(driver, mouse=finger) actions.pointer_action.move_to_location(int(x), int(y)) actions.pointer_action.pointer_down() actions.pointer_action.pause(hold_s) actions.pointer_action.pointer_up() actions.perform() def swipe( driver, start_x: float | int, start_y: float | int, end_x: float | int, end_y: float | int, hold_s: float = 0.2, move_s: float = 0.3 ) -> None: finger = PointerInput("touch", "finger") actions = ActionBuilder(driver, mouse=finger) actions.pointer_action.move_to_location(int(start_x), int(start_y)) actions.pointer_action.pointer_down() actions.pointer_action.pause(hold_s) actions.pointer_action.move_to_location(int(end_x), int(end_y)) actions.pointer_action.pause(move_s) actions.pointer_action.pointer_up() actions.perform()