100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python自动化测试xpath_selenium自动化测试:5.xpath八种定位方式

python自动化测试xpath_selenium自动化测试:5.xpath八种定位方式

时间:2019-10-13 00:57:45

相关推荐

python自动化测试xpath_selenium自动化测试:5.xpath八种定位方式

0.前言

如果可以的话,请先关注(专栏和账号),然后点赞和收藏,最后学习和进步。你的支持是我继续写下去的最大动力,个人定当倾囊而送,不负众望。谢谢!!!

1.前提

基于win10专业版64位系统+64位jdk1.8+64位python3.6.5+社区版pycharm.1.3+unittest+selenium3.141.0。

2.xpath八种定位方式

xpath:即xml路径语言,通常用来在html或xml中查找元素。

掌握了xpath八种定位方式能干啥?既不能上天也不能遁地,但能解决你在selenium自动化测试定位元素时百分之99.999999999......的元素都可以定位得到。

下来看下xpath的基本语法:

# /:从根节点选取# //:从非根节点选取# *:任意节点选取# @:根据属性# text():根据链接文本# and:关联属性或链接文本# []:可以放置下标、属性和链接文本# .:选取当前节点# ..:选取当前节点的父节点# contains:包含,用于模糊匹配

说明:xpath涉及到的东西还有很多,这里仅教会大家做自动化测试时,会灵活书写xpath定位语句即可。

1)全路径:不推荐

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("/html/body/div/div/div[2]/a[3]").click()#全路径定位,不推荐sleep(1)dr.close()

2)单属性

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("//a[@name='tj_trhao123']").click()#单属性定位sleep(1)dr.close()

3)多属性

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("//a[@name='tj_trhao123' and @class='mnav']").click()#多属性定位sleep(1)dr.close()

4)父属性

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("//div[@id='u1']/a[@name='tj_trhao123']").click()#父属性定位sleep(1)dr.close()

5)下标

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("//a[@class='mnav'][2]").click()#下标定位sleep(1)dr.close()

6).和..

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("//a[@class='mnav'][2]/.").click()#.和..定位sleep(1)dr.close()

7)链接文本

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')dr.find_element_by_xpath("//a[text()='hao123']").click()#链接文本定位sleep(1)dr.close()

8)模糊匹配

from time import sleepfrom selenium import webdriverdr = webdriver.Chrome()dr.maximize_window()dr.get('/')# dr.find_element_by_xpath("//a[contains(@name,'hao')]").click()#模糊匹配定位dr.find_element_by_xpath("//a[contains(text(),'hao')]").click()#模糊匹配定位sleep(1)dr.close()

注:xpath八种定位方式,除了第一种全路径定位方式不推荐外,其它几种定位方式,你觉得哪个方便就用哪个好了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。