013-Python3.11.8+selenium4.18.1+Web元素定位大法

2024现烤现卖热乎的自动化测试之《元素定位大法》最新版本教程

环境配置:

        Python版本:Python3.11.8

        Selenium版本:Selenium4.18.1

        Firfox版本:123.0.1(64位)

元素定位总结

#(1) id
#格式---browser.find_element(By.ID, 'kw')

#(2) name
#格式---browser.find_element(By.NAME, 'wd')

#(3) class_name
#格式---browser.find_element(By.CLASS_NAME, 's_ipt')

#(4) tag_name
#格式---browser.find_element(By.TAG_NAME, 'input')

#(5) link_text
#格式---browser.find_element(By.LINK_TEXT,'京公网安备11000002000001号')

#(6) partial_link_text
#格式---browser.find_element(By.PARTIAL_LINK_TEXT,'京ICP证030173号')

#(7) Xpath
#格式---browser.find_element(By.XPATH,'/html/body/div[2]/div[1]/div[5]/div/div/div[3]/ul/li[2]/a/span[2]')

#(8) CSS
#格式---browser.find_element(By.CSS_SELECTOR,"#kw")

#(9) find_element  与  find_elements 区别用法
#find_element---只查找一个元素使用;获取元素.txe内容,href链接内容使用
#find_elements---返回多个元素;返回格式列表;获取指定元素需读取下标browser.find_elements(By.TAG_NAME,'a')[0]

#(10)  组合条件定位使用and: 层级+属性、逻辑+属性
#举个栗子 层级+属性---元素Xpath=//*[@id="kw"]and元素id="kw"
#browser.find_element(By.XPATH,'//*[@id="kw"]') and browser.find_element(By.ID,"kw")

#(11)  Xpath扩展
#--(1)文本内容是"xxx"的元素
#--owser.find_element(By.XPATH,"//*[text()='京公网安备11000002000001号']")
#--(2)以xxx开头的元素
#browser.find_elements(By.XPATH,'//*[starts-with(@id,"k")]')[0]
#--(3)属性包含xxx的元素
#browser.find_element(By.XPATH,'//*[contains(@id,"k")]')

#(12) CSS扩展
#css_selector 元素必须用#修饰
#browser.find_element(By.CSS_SELECTOR,"#kw")

#---(1) input[type^'p'] ---type属性以字母'P'开头的元素
#如:input[id^='d']---id属性以"d"开头的所有元素
# browser.find_element(By.CSS_SELECTOR,"input[id^='k']")
#---(2) input[type$'d'] ---type属性以字母'd'结尾的元素
#如:input[name$='d']---name属性以'd'结尾的所有元素
# browser.find_element(By.CSS_SELECTOR,"input[name$='d']")
#---(3) input[type*'w'] ---type属性包含字母'w'的元素
# #如:input[name*='w']---name属性包含'w'的所有元素
# browser.find_elements(By.CSS_SELECTOR,"input[name*='w']")[0]


转载请说明出处内容投诉
CSS教程_站长资源网 » 013-Python3.11.8+selenium4.18.1+Web元素定位大法

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买