From aa9db156bc5b673fc7fb7c8307cc8e942bd27d8b Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Sun, 13 Apr 2025 01:40:25 -0700 Subject: [PATCH] cua keypress combo (#2146) --- skyvern/webeye/actions/handler.py | 39 ++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/skyvern/webeye/actions/handler.py b/skyvern/webeye/actions/handler.py index 36033063..c58fcc50 100644 --- a/skyvern/webeye/actions/handler.py +++ b/skyvern/webeye/actions/handler.py @@ -1483,13 +1483,46 @@ async def handle_keypress_action( task: Task, step: Step, ) -> list[ActionResult]: + updated_keys = [] for key in action.keys: if key.lower() == "enter": - await page.keyboard.press("Enter") + updated_keys.append("Enter") elif key.lower() == "space": - await page.keyboard.press(" ") + updated_keys.append(" ") + elif key.lower() == "ctrl": + updated_keys.append("Control") + elif key.lower() == "backspace": + updated_keys.append("Backspace") + elif key.lower() == "pagedown": + updated_keys.append("PageDown") + elif key.lower() == "pageup": + updated_keys.append("PageUp") + elif key.lower() == "tab": + updated_keys.append("Tab") + elif key.lower() == "shift": + updated_keys.append("Shift") + elif key.lower() == "arrowleft": + updated_keys.append("ArrowLeft") + elif key.lower() == "arrowright": + updated_keys.append("ArrowRight") + elif key.lower() == "arrowup": + updated_keys.append("ArrowUp") + elif key.lower() == "arrowdown": + updated_keys.append("ArrowDown") + elif key.lower() == "home": + updated_keys.append("Home") + elif key.lower() == "end": + updated_keys.append("End") + elif key.lower() == "delete": + updated_keys.append("Delete") + elif key.lower() == "ecs": + updated_keys.append("Escape") + elif key.lower() == "alt": + updated_keys.append("Alt") else: - await page.keyboard.press(key) + updated_keys.append(key) + keypress_str = "+".join(updated_keys) + await page.keyboard.press(keypress_str) return [ActionSuccess()]