mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
完善xpath处理
This commit is contained in:
parent
3b3b6a55cb
commit
9e3f22e47d
@ -255,32 +255,17 @@ def execute_session_find(page_or_ele: BaseParser,
|
|||||||
try:
|
try:
|
||||||
ele = None
|
ele = None
|
||||||
if loc_by == 'xpath':
|
if loc_by == 'xpath':
|
||||||
print(loc_str)
|
|
||||||
print(type(page_or_ele))
|
|
||||||
if 'PyQuery' in str(type(page_or_ele.element)):
|
if 'PyQuery' in str(type(page_or_ele.element)):
|
||||||
# from DrissionPage import MixPage
|
|
||||||
# if isinstance(page_or_ele, MixPage):
|
|
||||||
# 从页面查找。
|
# 从页面查找。
|
||||||
ele = page_or_ele.xpath(loc_str)
|
ele = page_or_ele.xpath(loc_str)
|
||||||
# ele = page_or_ele.response.html.xpath(loc_str)
|
|
||||||
elif 'HtmlElement' in str(type(page_or_ele.element)):
|
elif 'HtmlElement' in str(type(page_or_ele.element)):
|
||||||
# elif isinstance(page_or_ele, SessionElement):
|
|
||||||
# 从元素查找。这样区分是为了能找到上级元素
|
# 从元素查找。这样区分是为了能找到上级元素
|
||||||
try:
|
try:
|
||||||
elements = page_or_ele.element.xpath(loc_str)
|
elements = page_or_ele.element.xpath(loc_str)
|
||||||
# elements = page_or_ele.inner_ele.element.xpath(loc_str)
|
|
||||||
ele = [Element(element=e, url=page_or_ele.url) for e in elements]
|
ele = [Element(element=e, url=page_or_ele.url) for e in elements]
|
||||||
# ele = [Element(element=e, url=page_or_ele.inner_ele.url) for e in elements]
|
|
||||||
# ele = page_or_ele.xpath(loc_str)
|
|
||||||
# print(ele)
|
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
# print('c')
|
|
||||||
# loc_str=f'{page_or_ele.xpath}{loc_str.lstrip(".")}'
|
|
||||||
# print(loc_str)
|
|
||||||
# ele = page_or_ele.inner_ele.xpath(loc_str)
|
|
||||||
ele = page_or_ele.xpath(loc_str)
|
ele = page_or_ele.xpath(loc_str)
|
||||||
else: # 用css selector获取
|
else: # 用css selector获取
|
||||||
# pass
|
|
||||||
ele = page_or_ele.find(loc_str)
|
ele = page_or_ele.find(loc_str)
|
||||||
|
|
||||||
if mode == 'single':
|
if mode == 'single':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user