diff --git a/DrissionPage/shadow_root_element.py b/DrissionPage/shadow_root_element.py
index ab2a098..2224263 100644
--- a/DrissionPage/shadow_root_element.py
+++ b/DrissionPage/shadow_root_element.py
@@ -43,7 +43,7 @@ class ShadowRootElement(DrissionElement):
         :return: DriverElement对象
         """
         loc = 'xpath', f'.{"/.." * (num - 1)}'
-        return self.parent_ele.ele(loc, timeout=0.01, show_errmsg=False)
+        return self.parent_ele.ele(loc, timeout=0.1)
 
     @property
     def next(self):
@@ -56,13 +56,12 @@ class ShadowRootElement(DrissionElement):
         :return: DriverElement对象
         """
         loc = 'css selector', f':nth-child({num})'
-        return self.parent_ele.ele(loc)
+        return self.parent_ele.ele(loc, timeout=0.1)
 
     def ele(self,
             loc_or_str: Union[tuple, str],
             mode: str = 'single',
-            timeout: float = None,
-            show_errmsg: bool = False):
+            timeout: float = None):
         """返回当前元素下级符合条件的子元素,默认返回第一个                                                  \n
         示例:                                                                                           \n
         - 用loc元组查找:                                                                                 \n
@@ -85,7 +84,6 @@ class ShadowRootElement(DrissionElement):
         :param loc_or_str: 元素的定位信息,可以是loc元组,或查询字符串
         :param mode: 'single' 或 'all',对应查找一个或全部
         :param timeout: 查找元素超时时间
-        :param show_errmsg: 出现异常时是否打印信息
         :return: DriverElement对象
         """
         if isinstance(loc_or_str, str):
@@ -97,15 +95,15 @@ class ShadowRootElement(DrissionElement):
             raise ValueError('Argument loc_or_str can only be tuple or str.')
 
         timeout = timeout or self.timeout
+
         if loc_or_str[0] == 'css selector':
-            return execute_driver_find(self.inner_ele, loc_or_str, mode, show_errmsg, timeout)
+            return execute_driver_find(self.inner_ele, loc_or_str, mode, timeout)
         elif loc_or_str[0] == 'text':
             return self._find_eles_by_text(loc_or_str[1], loc_or_str[2], loc_or_str[3], mode)
 
     def eles(self,
              loc_or_str: Union[tuple, str],
-             timeout: float = None,
-             show_errmsg: bool = False):
+             timeout: float = None):
         """返回当前元素下级所有符合条件的子元素                                                            \n
         示例:                                                                                          \n
         - 用loc元组查找:                                                                                \n
@@ -127,10 +125,9 @@ class ShadowRootElement(DrissionElement):
             ele.eles('css:div.ele_class')                - 返回所有符合css selector的子元素                 \n
         :param loc_or_str: 元素的定位信息,可以是loc元组,或查询字符串
         :param timeout: 查找元素超时时间
-        :param show_errmsg: 出现异常时是否打印信息
         :return: DriverElement对象组成的列表
         """
-        return self.ele(loc_or_str, mode='all', show_errmsg=show_errmsg, timeout=timeout)
+        return self.ele(loc_or_str, mode='all', timeout=timeout)
 
     def run_script(self, script: str, *args) -> Any:
         """执行js代码,传入自己为第一个参数  \n
@@ -160,41 +157,49 @@ class ShadowRootElement(DrissionElement):
         :param mode: 'single' 或 'all',对应匹配一个或全部
         :return: 返回DriverElement对象或组成的列表
         """
-        eles = self.run_script('return arguments[0].querySelectorAll("*")')  # 获取所有元素
+        # 获取所有元素
+        eles = self.run_script('return arguments[0].querySelectorAll("*")')
         from .driver_element import DriverElement
         results = []
-        for ele in eles:  # 遍历所有元素,找到符合条件的
+
+        # 遍历所有元素,找到符合条件的
+        for ele in eles:
             if tag and tag != ele.tag_name:
                 continue
             txt = self.driver.execute_script(
                 'if(arguments[0].firstChild!=null){return arguments[0].firstChild.nodeValue}', ele)
             txt = txt or ''
-            if text == '' or match == 'exact':  # 匹配没有文本的元素或精确匹配
+
+            # 匹配没有文本的元素或精确匹配
+            if text == '' or match == 'exact':
                 if text == txt:
                     if mode == 'single':
                         return DriverElement(ele)
                     elif mode == 'all':
                         results.append(DriverElement(ele))
-            elif match == 'fuzzy':  # 模糊匹配
+
+            # 模糊匹配
+            elif match == 'fuzzy':
                 if text in txt:
                     if mode == 'single':
                         return DriverElement(ele)
                     elif mode == 'all':
                         results.append(DriverElement(ele))
+
         return None if mode == 'single' else results
 
 
 def get_css_from_str(loc: str) -> tuple:
     """处理元素查找语句                                                \n
-    查找方式:属性、tag name及属性、文本、css selector                  \n
-    =表示精确匹配,:表示模糊匹配,无控制字符串时默认搜索该字符串           \n
-    =表示精确匹配,:表示模糊匹配,无控制字符串时默认搜索该字符串           \n
+    查找方式:属性、tag name及属性、文本、css selector                   \n
+    =表示精确匹配,:表示模糊匹配,无控制字符串时默认搜索该字符串             \n
+    =表示精确匹配,:表示模糊匹配,无控制字符串时默认搜索该字符串             \n
     示例:                                                            \n
         @class:ele_class - class含有ele_class的元素                    \n
         @class=ele_class - class等于ele_class的元素                    \n
         @class - 带class属性的元素                                     \n
         tag:div - div元素                                              \n
-        tag:div@class:ele_class - class含有ele_class的div元素          \n
+        tag:div@class:ele_class - class含有ele_class的div元素           \n
         tag:div@class=ele_class - class等于ele_class的div元素           \n
         tag:div@text():search_text - 文本含有search_text的div元素        \n
         tag:div@text()=search_text - 文本等于search_text的div元素        \n
@@ -203,14 +208,18 @@ def get_css_from_str(loc: str) -> tuple:
         css:div.ele_class                                               \n
     """
     loc_by = 'css selector'
-    if loc.startswith('@'):  # 根据属性查找
+
+    # 根据属性查找
+    if loc.startswith('@'):
         r = re_SPLIT(r'([:=])', loc[1:], maxsplit=1)
         if len(r) == 3:
             mode = '=' if r[1] == '=' else '*='
             loc_str = f'*[{r[0]}{mode}{r[2]}]'
         else:
             loc_str = f'*[{loc[1:]}]'
-    elif loc.startswith(('tag=', 'tag:')):  # 根据tag name查找
+
+    # 根据tag name查找
+    elif loc.startswith(('tag=', 'tag:')):
         if '@' not in loc[4:]:
             loc_str = f'{loc[4:]}'
         else:
@@ -224,13 +233,22 @@ def get_css_from_str(loc: str) -> tuple:
                 loc_str = f'{at_lst[0]}[{r[0]}{mode}"{r[2]}"]'
             else:
                 loc_str = f'{at_lst[0]}[{r[0]}]'
-    elif loc.startswith(('css=', 'css:')):  # 用css selector查找
+
+    # 用css selector查找
+    elif loc.startswith(('css=', 'css:')):
         loc_str = loc[4:]
-    elif loc.startswith(('xpath=', 'xpath:')):  # 用xpath查找
+
+    # 用xpath查找
+    elif loc.startswith(('xpath=', 'xpath:')):
         raise ValueError('不支持xpath')
-    elif loc.startswith(('text=', 'text:')):  # 根据文本查找
+
+    # 根据文本查找
+    elif loc.startswith(('text=', 'text:')):
         match = 'exact' if loc[4] == '=' else 'fuzzy'
         return 'text', loc[5:], '', match
-    else:  # 根据文本模糊查找
+
+    # 根据文本模糊查找
+    else:
         return 'text', loc, '', 'fuzzy'
+
     return loc_by, loc_str