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()'
|
node_txt = 'node()'
|
||||||
else:
|
else:
|
||||||
raise ValueError("Argument mode can only be 'node' or 'ele'.")
|
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'):
|
def prevs(self, num: int = 1, mode: str = 'ele'):
|
||||||
"""返回前面第num个兄弟节点或元素 \n
|
"""返回前面第num个兄弟节点或元素 \n
|
||||||
@ -191,7 +197,13 @@ class DriverElement(DrissionElement):
|
|||||||
node_txt = 'node()'
|
node_txt = 'node()'
|
||||||
else:
|
else:
|
||||||
raise ValueError("Argument mode can only be 'node' or 'ele'.")
|
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:
|
def attr(self, attr: str) -> str:
|
||||||
"""获取属性值 \n
|
"""获取属性值 \n
|
||||||
@ -585,4 +597,5 @@ class ElementsByXpath(object):
|
|||||||
|
|
||||||
elif self.mode == 'all':
|
elif self.mode == 'all':
|
||||||
e = get_nodes(the_node, xpath_txt=self.xpath)
|
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))
|
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: 后面第几个兄弟元素
|
:param num: 后面第几个兄弟元素
|
||||||
:return: SessionElement对象
|
:return: SessionElement对象
|
||||||
"""
|
"""
|
||||||
|
# TODO: 增加获取node
|
||||||
return self.ele(f'xpath:./following-sibling::*[{num}]')
|
return self.ele(f'xpath:./following-sibling::*[{num}]')
|
||||||
|
|
||||||
def prevs(self, num: int = 1):
|
def prevs(self, num: int = 1):
|
||||||
@ -118,6 +119,7 @@ class SessionElement(DrissionElement):
|
|||||||
:param num: 前面第几个兄弟元素
|
:param num: 前面第几个兄弟元素
|
||||||
:return: SessionElement对象
|
:return: SessionElement对象
|
||||||
"""
|
"""
|
||||||
|
# TODO: 增加获取node
|
||||||
return self.ele(f'xpath:./preceding-sibling::*[{num}]')
|
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):
|
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
|
ele = ele[0] if ele else None
|
||||||
return SessionElement(ele) if isinstance(ele, Element) else ele
|
return SessionElement(ele) if isinstance(ele, Element) else ele
|
||||||
elif mode == 'all':
|
elif mode == 'all':
|
||||||
|
ele = filter(lambda x: x != '\n', ele) # 去除元素间换行符
|
||||||
return [SessionElement(e) if isinstance(e, Element) else e for e in ele]
|
return [SessionElement(e) if isinstance(e, Element) else e for e in ele]
|
||||||
except:
|
except:
|
||||||
if show_errmsg:
|
if show_errmsg:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user