code: def find_element(self, value, by=By.ID, update=False) -> Elements:
          '''Find a element or the first element.'''
          if update or not self._nodes:
              self.uidump()
          for node in self._nodes:
              if node.attrib[by] == value:
                  bounds = node.attrib['bounds']
                  coord = list(map(int, re.findall(r'\d+', bounds)))
                  click_point = (coord[0] + coord[2]) / \
                      2, (coord[1] + coord[3]) / 2
                  return self._element_cls(self, node.attrib, by, value, coord, click_point)
          raise NoSuchElementException(f'No such element: {by}={value!r}.'f find_element(self, value, by=By.ID, update=False) -> Elements:
          '''Find a element or the first element.'''
          if update or not self._nodes:
              self.uidump()
          for node in self._nodes:
              if node.attrib[by] == value:
                  bounds = node.attrib['bounds']
                  coord = list(map(int, re.findall(r'\d+', bounds)))
                  click_point = (coord[0] + coord[2]) / \
                      2, (coord[1] + coord[3]) / 2
                  return self._element_cls(self, node.attrib, by, value, coord, click_point)
          raise NoSuchElementException(f'No such element: {by}={value!r}.')
docs: Find a element or the first element.