def get_elements(self, dat, multiple=False, retry=1, **kwargs):
        """
            映射 dat:dict => ``find_element_by_dat.key`` 来查找元素

        :param dat: a dict like {'name': <the ele name>}
        :type dat: dict
        :param multiple:
        :type multiple: bool
        :param retry:
        :type retry: int
        :return:
        :rtype:
        """
        if not isinstance(dat, dict):
            return dat

        while retry > 0:
            for k, v in dat.items():
                try:
                    # 获取成功, 直接返回
                    return getattr(self.driver, gen_find_method(k, multiple, kwargs.get('extra_maps')))(v)
                except WebDriverException as _:
                    if not kwargs.get('skip_log'):
                        log.warning('[{}]: {}'.format(dat, _))
                finally:
                    retry -= 1
            raise ValueError(dat)