mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
去掉eles获取到的元素间换行符
This commit is contained in:
parent
914646e0f0
commit
126fd466b2
@ -177,7 +177,13 @@ class DriverElement(DrissionElement):
|
||||
node_txt = 'node()'
|
||||
else:
|
||||
raise ValueError("Argument mode can only be 'node' or 'ele'.")
|
||||
return self.ele(f'xpath:./following-sibling::{node_txt}[{num}]', timeout=0.1, show_errmsg=False)
|
||||
|
||||
e = self.ele(f'xpath:./following-sibling::{node_txt}[{num}]', timeout=0.1, show_errmsg=False)
|
||||
while e == '\n':
|
||||
num += 1
|
||||
e = self.ele(f'xpath:./following-sibling::{node_txt}[{num}]', timeout=0.1, show_errmsg=False)
|
||||
|
||||
return e
|
||||
|
||||
def prevs(self, num: int = 1, mode: str = 'ele'):
|
||||
"""返回前面第num个兄弟节点或元素 \n
|
||||
@ -191,7 +197,13 @@ class DriverElement(DrissionElement):
|
||||
node_txt = 'node()'
|
||||
else:
|
||||
raise ValueError("Argument mode can only be 'node' or 'ele'.")
|
||||
return self.ele(f'xpath:./preceding-sibling::{node_txt}[{num}]', timeout=0.01, show_errmsg=False)
|
||||
|
||||
e = self.ele(f'xpath:./preceding-sibling::{node_txt}[{num}]', timeout=0.1, show_errmsg=False)
|
||||
while e == '\n':
|
||||
num += 1
|
||||
e = self.ele(f'xpath:./preceding-sibling::{node_txt}[{num}]', timeout=0.1, show_errmsg=False)
|
||||
|
||||
return e
|
||||
|
||||
def attr(self, attr: str) -> str:
|
||||
"""获取属性值 \n
|
||||
@ -585,4 +597,5 @@ class ElementsByXpath(object):
|
||||
|
||||
elif self.mode == 'all':
|
||||
e = get_nodes(the_node, xpath_txt=self.xpath)
|
||||
e = filter(lambda x: x != '\n', e) # 去除元素间换行符
|
||||
return list(map(lambda x: DriverElement(x, self.timeout) if isinstance(x, WebElement) else x, e))
|
||||
|
@ -111,6 +111,7 @@ class SessionElement(DrissionElement):
|
||||
:param num: 后面第几个兄弟元素
|
||||
:return: SessionElement对象
|
||||
"""
|
||||
# TODO: 增加获取node
|
||||
return self.ele(f'xpath:./following-sibling::*[{num}]')
|
||||
|
||||
def prevs(self, num: int = 1):
|
||||
@ -118,6 +119,7 @@ class SessionElement(DrissionElement):
|
||||
:param num: 前面第几个兄弟元素
|
||||
:return: SessionElement对象
|
||||
"""
|
||||
# TODO: 增加获取node
|
||||
return self.ele(f'xpath:./preceding-sibling::*[{num}]')
|
||||
|
||||
def ele(self, loc_or_str: Union[Tuple[str, str], str], mode: str = None, show_errmsg: bool = False):
|
||||
@ -274,6 +276,7 @@ def execute_session_find(page_or_ele: BaseParser,
|
||||
ele = ele[0] if ele else None
|
||||
return SessionElement(ele) if isinstance(ele, Element) else ele
|
||||
elif mode == 'all':
|
||||
ele = filter(lambda x: x != '\n', ele) # 去除元素间换行符
|
||||
return [SessionElement(e) if isinstance(e, Element) else e for e in ele]
|
||||
except:
|
||||
if show_errmsg:
|
||||
|
Loading…
x
Reference in New Issue
Block a user