HiveNetWebUtils.parser.html module¶
html代码解析器
- class HiveNetWebUtils.parser.html.HtmlElement(elemnet: _Element)[源代码]¶
基类:
object自己封装的Html元素, 方法与 selenium 的 WebElement 一致
- property id¶
获取元素的id @property {str} - id, 不存在返回None
- is_same_with(el, with_path: bool = True) bool[源代码]¶
比较当前节点和另一个节点是否同一个
- 参数
element (HtmlElement) – 要比较的元素
with_path (bool) – default=True, 是否比较路径
- 返回
比较结果
- 返回类型
bool
- property parent¶
获取元素的父元素
@property {HtmlElement} - 如果找不到返回None
- property position: int¶
获取当前节点在父节点下的位置
@property {int} - 返回位置, 如果是顶层的情况返回None
- property tag_name¶
获取元素标签名
@property {str}
- property text¶
获取元素文本
@property {str}
- class HiveNetWebUtils.parser.html.HtmlParser(html: str, use_xpath2=False)[源代码]¶
基类:
objectHtml解析器
基于lxml实现的html文档的解析, 元素查找方式与 WebDriver 相似, 以便解析功能的兼容
- __init__(html: str, use_xpath2=False)[源代码]¶
html解析器
- 参数
html (str) – 要解析的html代码
use_xpath2 (bool) – default=False, 是否使用xpath2.0, 默认为False
- find_elements(steps: list, parent: HtmlElement = None) list[源代码]¶
按步骤逐级查询对象
- 参数
steps (list) –
要查询的步骤列表, 每一个步骤为一个操作列表, 第0个为操作类型, 后面为操作参数
[
[‘pos’: 0], # 获取当前清单中指定位置的元素
[‘children’], # 获取当前清单元素中的所有子元素
[‘id’, ‘myId’], # 通过id获取元素
[‘xpath’, ‘//img[@id=”dracga” and @style]’], # 通过xpaht获取元素
[‘name’, ‘myName’], # 通过元素的name属性获取
[‘tag_name’, ‘img’], # 通过元素的标签名获取
[‘class_name’, ‘styleClass’], # 通过元素的class名获取
[‘css_selector’, ‘#kw’], # 通过css选择器方式获取, id用#kw, class用.s_ipt, 与css的简写方式相同
[‘link_text’, ‘hao123’], # 通过超文本链接上的文字信息来定位元素
[‘partial_link_text’, ‘hao’] # 通过超文本连接上的文字的一部分关键字信息来定位元素
]
parent (HtmlElement) – default=None, 开始的父节点, 如果不传代表重新开始
- 返回
返回查找到的对象列表
注: 对象类型为 HtmlElement
- 返回类型
list