From d211024adf209a00745f542d6541e6e2bc3a93ef Mon Sep 17 00:00:00 2001 From: Saurabh Misra Date: Wed, 19 Mar 2025 18:16:43 -0700 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20Speed=20up=20method=20`Sky?= =?UTF-8?q?vernElement.get=5Fid`=20by=2020%=20(#1912)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com> --- skyvern/webeye/utils/dom.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/skyvern/webeye/utils/dom.py b/skyvern/webeye/utils/dom.py index b027eb3b..bf70abc7 100644 --- a/skyvern/webeye/utils/dom.py +++ b/skyvern/webeye/utils/dom.py @@ -127,6 +127,11 @@ class SkyvernElement: self.__frame = frame self.locator = locator self.hash_value = hash_value + self._id_cache = static_element.get("id", "") + self._tag_name = static_element.get("tagName", "") + self._selectable = static_element.get("isSelectable", False) + self._frame_id = static_element.get("frame", "") + self._attributes = static_element.get("attributes", {}) def __repr__(self) -> str: return f"SkyvernElement({str(self.__static_element)})" @@ -291,19 +296,19 @@ class SkyvernElement: return self.__static_element def get_selectable(self) -> bool: - return self.__static_element.get("isSelectable", False) + return self._selectable def get_tag_name(self) -> str: - return self.__static_element.get("tagName", "") + return self._tag_name def get_id(self) -> str: - return self.__static_element.get("id", "") + return self._id_cache def get_frame_id(self) -> str: - return self.__static_element.get("frame", "") + return self._frame_id def get_attributes(self) -> typing.Dict: - return self.__static_element.get("attributes", {}) + return self._attributes def get_options(self) -> typing.List[SkyvernOptionType]: options = self.__static_element.get("options", None)