不管用什么方式查找元素,都要保证在页面上查找到唯一元素。除非想要查找一批元素。
选择器有三种:id, 标签名, class。 在CSS里# 代表id, .(点)代表class.
- Id定位:
<input name="fm-login-id" type="text" class="fm-text" id="fm-login-id" tabindex="1" aria-label="邮箱/会员名/8位ID" placeholder="邮箱/会员名/8位ID" autocapitalize="off" data-spm-anchor-id="a212t0.3047821.0.i0.1e2479f4VaAq1G">
有如上元素。
a. 该元素可定义成:
input[id=‘fm-login-id’],也可简写成#fm-login-id。
b. 如果再加上标签名如:input#fm-login-id,则搜索时将只搜索此类标签,可以使搜索速度更快
- class定位:
<i class="wind-rc-product-icon glyph-actiontrail"></i>
a. 当class的值有多个时,可以取其中任何与其他元素的class值不同的那个(唯一的那个),可以定义成 .wind-rc-product-icon或 .glyph-actiontrail
b. 也可以加上标签名字,定义成 i.glyph-actiontrail
c. 也可以加上所有class的值, 即:i.glyph-actiontrail.wind-rc-product-icon
- 通配符定位:^, *,$
<span class="sc-Axmtr hvJMgY" data-spm-anchor-id="5176.12818093.nav-right.i0.65fe16d0BaXZ3I">访问控制</span>
a. span[class^=‘sc-Axm’], 查找以这个文本开头的元素。
b. span[class$=‘Axmtr’], 查找以这个文本结尾的元素。
c. span[class*=‘Axm’], 查找包含这个文本的元素
- 定位子节点
a.
div>a.sc-AxhUy 通过上层父元素div和class定位元素。
b.
div>input[name=‘up-input’], 通过上层父元素div和内层元素属性定位元素。