From 16ff41f999c631f84759e858812c3542928664bc Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Mon, 27 Jan 2025 21:26:53 +0800 Subject: [PATCH] drop invisible svg elements (#1654) --- skyvern/forge/agent_functions.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/skyvern/forge/agent_functions.py b/skyvern/forge/agent_functions.py index 90a24c3e..9fccd911 100644 --- a/skyvern/forge/agent_functions.py +++ b/skyvern/forge/agent_functions.py @@ -122,6 +122,16 @@ async def _convert_svg_to_string( try: locater = skyvern_frame.get_frame().locator(f'[{SKYVERN_ID_ATTR}="{element_id}"]') + if await locater.count() == 0: + del element["children"] + element["isDropped"] = True + return + + if not await locater.is_visible(timeout=settings.BROWSER_ACTION_TIMEOUT_MS): + del element["children"] + element["isDropped"] = True + return + skyvern_element = SkyvernElement(locator=locater, frame=skyvern_frame.get_frame(), static_element=element) _, blocked = await skyvern_frame.get_blocking_element_id(await skyvern_element.get_element_handler())