多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Selenium之css定位小结-自动化测试

更新时间:2022-03-22 10:01:54 作者:多测师 浏览:485

前言

  大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求。css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁。

  这一篇css的定位方法,主要是对比上一篇的xpath来的,基本上xpath能完成的,css也可以做到。两篇对比学习,更容易理解。

Selenium之css定位小结-自动化测试

  CSS 选择器:

  常见符号:

  #表示 id选择器

  .表示 class选择器

  >表示子元素,层级

  一个空格也表示子元素,但是是所有的后代子元素,相当于 xpath 中的相对路径

  一、css:属性定位

  1.css可以通过元素的id、class、标签这三个常规属性直接定位到

  2.如下是百度输入框的的html代码:

  <input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd"/>

  3.css用#号表示id属性,如:#kw

  4.css用.表示class属性,如:.s_ipt

  5.css直接用标签名称,无任何标示符,如:input

  二、css:其它属性

  1.css除了可以通过标签、class、id这三个常规属性定位外,也可以通过其它属性定位

  2.以下是定位其它属性的格式

  [name=wd] [autocomplete='off'][maxlength='255']

  三、css:标签

  css页可以通过标签与属性的组合来定位元素

  input.s_ipt input#kw input[id='kw']

  四、css:层级关系

  //form的id属性

  form#form>span>input

  //form的class属性

  form.fm>span>input

  五、css:索引

  css也可以通过索引nth-child(1)来定位子元素,直接翻译过来就是第几个小孩

  总结:选择标签后,找第几个小孩即可

  Select控件第三个Opel

  #select>select>option:nth-child(3)

  CheckBox第一个Volvo

  #checkbox>input:nth-child(1)

  CheckBox第二个Saab

  #checkbox>input:nth-child(4)

  RadioBox第二个Saab

  #radio>input:nth-child(4)

  通过索引nth-of-type(2)来定位子元素,按照分类指定

  选择select的saab

  #select>select>option:nth-of-type(2);

  选择 id 为 radio 的 div 下的第 1 个子节点

  div#radio>input:nth-of-type(4)+label

  选择id 为radio 的div 下的第4 个input 节点之后挨着的 label

  节点

  div#radio>input:nth-of-type(4)~label

  六、css:逻辑运算

  css同样也可以实现逻辑运算,同时匹配两个属性,这里跟xpath不一样,无需写and关键字

  [type='checkbox'][name='checkbox1']

       css语法远远不止上面提到的,还有更多更强大定位策略,有兴趣的同学可以继续深入研究。

       以上内容为大家介绍了自动化测试中的Selenium之css定位小结,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部