摘要:本文详细介绍了使用自动化测试中使用selenium接口的八大定位元素(element)。
目录
1. id定位元素(id具有唯一性的特点,如果有id,则可以优先考虑使用其id值来定位元素)By.ID
3. class_name定位元素By.CLASS_NAME
7. xpath定位元素(最硬核的定位元素的方法)By.XPATH
1. id定位元素(id具有唯一性的特点,如果有id,则可以优先考虑使用其id值来定位元素)
# id定位元素By.ID
# id定位元素
driver.find_element(By.ID,'kw').send_keys('selenium的element')
2. name定位元素
# name定位元素By.NAME
# name定位元素
driver.find_element(By.NAME,'wd').send_keys('selenium的element')
3. class_name定位元素
# class_name定位元素By.CLASS_NAME
# class_name定位元素
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('selenium的element')
4. a标签定位元素
1)精准匹配
# 精准匹配By.LINK_TEXT
# a标签定位元素 --->>>全部(精准)匹配
driver.find_element(By.LINK_TEXT,'新闻').click()
2)模糊匹配
# 模糊匹配By.PARTIAL_LINK_TEXT
# a标签定位元素 --->>>模糊匹配
driver.find_element(By.PARTIAL_LINK_TEXT,'hao').click()
5. css定位元素
# css定位元素By.CSS_SELECTOR
# css定位元素
driver.find_element(By.CSS_SELECTOR,'#kw').send_keys('selenium的element')
6. tag_name定位元素
# tag_name定位元素By.TAG_NAME
# tag_name定位元素
driver.find_element(By.TAG_NAME,'input').send_keys('selenium的element')
7. xpath定位元素(最硬核的定位元素的方法)
1)路径问题:绝对路径和相对路径(推荐使用相对路径)
绝对路径(/单斜杠)
相对路径(//双斜杠)--->>>推荐使用
2)属性定位
语法: @属性名
如:
//标签名[@属性名=值]
//*[@属性名=值]
案例:
//input[@id="kw"]
//*[@id="kw"]
# @id属性
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('selenium的element')
# @name属性
driver.find_element(By.XPATH,'//*[@name="wd"]').send_keys('selenium的八大定位')
3)文本定位:精准文本匹配和模糊文本匹配
语法: text()
精准文本匹配://标签名[text()=值]
模糊文本匹配contains://标签名[contains(text(),值)]
案例:
//a[text()="hao123"]
//a[contains(text(),'hao1')]