在上一篇:Selenium自动化测试-元素定位(2),我们介绍了xpath定位,xpath一般都能满足我们的定位需求。今天我们来介绍另一种——css定位神器。css相对xpath来说,语法更简洁、定位速度更快,xpath能定位到的,css一般也能定位到,可以说是神通广大的一员虎将。
css定位是通过css选择器进行定位,我们需要了解css选择器的一些知识才能进行css定位,选择器基本语法如下:
以下我们依次介绍四种不同的css定位方式:
1.通过class、id属性定位
以百度搜索框为例:
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
其中属性包括 class="s_ipt"、id="kw",那么对应的css写法就是 .s_ipt , #kw
我们通过class、id属性定位代码如下:
2.通过其他属性定位
百度搜索框的属性除了id,class之外,还包括maxlength="100" ,autocomplete="off",我们还可以通过这两个属性来定位百度搜索框。
代码如下:
当然,不是通过属性就一定能定位到元素,要看属性是否唯一。
3.通过层级关系定位
通过上下层级关系进行层层定位,百度搜索框的层级元素如下:
层级关系为,form>span>input,层级定位代码如下:
4.通过逻辑关系定位
css逻辑关系定位与xpath类似,但是css不需要写and。
以百度搜索框的id属性和class属性为例,代码如下:
xpath与css定位对比:
通过对比,发现css与xpath定位方式差不多,css语法更简洁。
总结:已经介绍完8种定位方法,如果有id,尽量用id定位,如果没有id、name等属性,掌握xpath、css定位,能满足绝大部分的定位。
下一篇我们将介绍By定位。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。