码迷,mamicode.com
首页 > 编程语言 > 详细

python+selenium基础之XPATH定位

时间:2018-05-06 13:27:16      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:基本   菜鸟   height   一段   利用   w3cschool   handle   一个   img   

世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!!

selenium定位元素的方法有很多种,像是通过id、name、class_name、tag_name、link_text等等,但是这些方法局限性太大,拿id属性来说,首先一定不会每个元素都有id属性,其次元素的id属性也不一定是固定不变的。所以这些方法了解一下即可,我们真正需要熟练掌握的是通过xpath和css定位,一般只要掌握一种就可以应对大部分定位工作了。

 

下面总结一下xpath的定位方法,结合自己练习的实例加深一下了解

一、首先需要了解一下xpath的概念和基本语法

网上关于xpath的教程比较少,可以看一下菜鸟教程和w3cschool的相关资料:http://www.runoob.com/xpath/xpath-tutorial.htmlhttp://www.w3school.com.cn/xpath/index.asp

技术分享图片

技术分享图片

 技术分享图片

技术分享图片

 

二、常用的xpath定位方法

1.利用标签内的属性进行定位

(1)通过id属性

技术分享图片

xpath = "//a[@id=‘start_handle‘]"
//a表示选取所有a元素,加上[@id=‘start_handle‘]表示选取id属性为‘start_handle‘的a元素
(2)通过name属性定位

 技术分享图片

xpath = "//input[@name=‘custName‘]"

 

概括:xpath = "//标签名[@属性=‘属性值‘]"

属性判断条件:最常见为id,name,class等等,属性的类别没有特殊限制,只要能够唯一标识一个元素即可。

当某个属性不足以唯一区别某一个元素时,也可以采取多个条件组合的方式,如下:

xpath= "//input[@type=‘XX‘ and @name=‘XX‘]"

 

2.利用text()方法定位

技术分享图片

如上所示,在【上一步】按钮的<a></a>标签之间有一段文本“上一步”,那么可以通过下面这种方式来定位

xpath = "//a[text()=‘上一步‘]"

【开始办理】按钮可以使用如下路径xpath = "//a[text()=‘开始办理‘]"

 

3.利用contains()方法定位,也叫模糊定位

xpath = "//标签名[contains(@属性, ‘属性值‘)]"

 技术分享图片

xpath3 = "//a[contains(@href, ‘basicinfo‘)]" 
取href的关键信息
‘basicinfo‘,这样也可以定位到【开始办理】按钮


 

python+selenium基础之XPATH定位

标签:基本   菜鸟   height   一段   利用   w3cschool   handle   一个   img   

原文地址:https://www.cnblogs.com/hanmk/p/8997786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!