🔦 概述
本章介绍如何获取元素对象。
定位元素是自动化重中之重的技能,虽然可在开发者工具直接复制绝对路径,但这样做有几个缺点:
- 代码冗长,可读性低
- 动态页面容易导致元素失效
- 无法使用相对定位
- 网页稍有改动或者出现临时元素就不能用,容错性低
- 无法跨
<iframe>
查找元素
因此作者极不建议使用右键复制的元素路径。
本库提供一套简洁易用的语法,用于快速定位元素,并且内置等待功能、支持链式查找,减少了代码的复杂性。
同时也兼容 css selector、xpath 和 selenium 原生的 loc 元组。
✅️️ 基本用法
所有页面对象和元素对象(包括<iframe>
和 shadow-root),都可以在自己内部查找元素。
元素对象还能以自己为基准,相对定位其它元素。
定位元素大致有以下几种方法,将在后续小节中详细说明。
- 在页面或元素内查找子元素
- 根据 DOM 结构相对定位
- 根据视觉位置相对定位
所有的查找元素方法,都可以使用本库自创的查找语法、xpath、css selector和 selenium 的定位符元组,去查找元素。
✅️️ 示例
先看一些示例,后面再详细讲解用法。
📌 简单示例
假设有这样一个页面,本章示例皆使用此页面:
<html>
<body>
<div id="one">
<p class="p_cls" name="row1">第一行</p>
<p class="p_cls" name="row2">第二行</p>
<p class="p_cls">第三行</p>
</div>
<div id="two">
第二个div
</div>
</body>
</html>