UI自动化之8种基础定位

UI自动化的核心在于定位

目录

1、8种基础定位方法

2、xpath定位

3、css定位

1、8种基础定位方法

    driver.find_element_by_id()   #id定位
    driver.find_element_by_name()  #name定位
    driver.find_element_by_class_name()   #class定位
    driver.find_element_by_tag_name()    #标签名定位,一般用于iframe;标签较少的也可以使用,用取下标的方式
    driver.find_element_by_xpath()           #xpath定位,可以用firepath来获得这个定位
    driver.find_element_by_css_selector()  #css定位
    driver.find_element_by_link_text()       #a标签的文本定位
    driver.find_element_by_partial_link_text()   #a标签的局部文本定位

  

2、xpath定位

//:相对定位

*匹配任意标签

第一种:id\class\name\其他属性

driver.find_element_by_xpath("//*[@id='']")          #id和值
driver.find_element_by_xpath("//*[@class='']")   #class和值
driver.find_element_by_xpath("//*[@name='']") #name和值,如:find_element_by_xpath("//*[name='']")

driver.find_element_by_xpath("//*[@shuxingming='']") #属性名和值,如:find_element_by_xpath("//*[align='left']")

第二种:模糊匹配\层级\索引\逻辑运算

模糊匹配:
driver.find_element_by_xpath("//*[contains(text(),'测试')]") #包含某些字符 driver.find_element_by_xpath("//*[starts-with(text(),'测试')]") #以某些字符开头 driver.find_element_by_xpath("//*[ends-with(text(),'测试')]") #以某些字符结尾 driver.find_element_by_xpath("//*[matchs(text(),'测试')]") #正则匹配
层级:
driver.find_element_by_xpath("//*[@id='']/p")  
索引:
driver.find_element_by_xpath("//*[@id='']/option[0]")

逻辑运算:
driver.find_element_by_xpath("//*[@class=''and @name='']")

第三种:

绝对定位,使用firepath

3、css定位

第一种:id\class\标签名

driver.find_element_by_css_selector("#username") #id为username
driver.find_element_by_css_selector(".username") #class为username
driver.find_element_by_css_selector("iframe") #标签名为iframe

第二种:

索引:
driver.find_element_by_css_selector("selet#nr>option:nth-child(1)") #标签名:nth-child(1)来定位子元素
层级:
driver.find_element_by_css_selector("selet#nr>option") #标签名:nth-child(1)来定位子元素
逻辑运算:
driver.find_element_by_css_selector("selet#nr[option='']") #不用and连接,写在一起即可

  

猜你喜欢

转载自www.cnblogs.com/weizhideweilai/p/9581560.html