日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自动化测试8大元素定位之xpath语法

發布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自动化测试8大元素定位之xpath语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

8大元素定位

tag_name:通過標簽名稱,找出來的元素太多了
name:用戶輸入input,不出意外總會有name屬性
class_name
id
1、同一個頁面當中,某個id只能用一次,
2、如果元素有id,會優先使用id定位,
3、不好的消息,不是所有的元素都有id
link_text:連接的文本,只能用來定位連接
partial_link_text
css_selector
xpath:用的最多
//*[@id="s-top-left"]/a[3]: xpath表達式 相對路徑: //開頭
//*[@id="kw"]
/html/body/form/div/input[1] 絕對路徑:/開頭 必須從最開頭的地方找
為什么叫路徑?和操作系統的文件路徑長的很像

xpath表達式的語法

用/還是//,測試行業,選擇相對路徑,幾乎不會選擇絕對路徑

為什么?
1、因為絕對路徑不穩定、
2、絕對路徑更長,不好找
格式:
//找的標簽名稱[@屬性名=‘屬性值’]
以百度頁面為例

例1:定義百度輸入框,以下2種方法
第一種精確匹配
//input[@type=“text”]
第二種正則表達式匹配,*:代表正則表達式:通配符,表示匹配所有的標簽名
//*[@type=“text”]

xpath組合條件

組合屬性:可以縮短查詢范圍,當定位一個元素,用一個屬性名=屬性值不能精確定位時,可以用組合屬性定位

例2:還是定位百度輸入框
格式:
//標簽名[@屬性名=‘屬性值’ and @屬性名=‘屬性值’]
//*[@type=“text” and @class=“s_ipt”]

嵌套匹配

組合通過父親找兒子關系(先找到上一級,再定位本級)
//span[@id=“s_kw_wrap”]/input[@type=“text”]

組合通過祖先找兒子關系(只要是本級的上級就可以)
//form[@id=‘form’]//input[@name=‘wd’]

通過兒子找父親
//input[@id='kw']/..
通過兒子找祖先(比較麻煩,不推薦)
//input[@id='kw']/../../..

通過兄弟姐妹找(比較麻煩)
//input[@id='kw']/../[@class='soutu-btn']

通過索引查找

xpath的索引是從1開始數的
xpath的計算索引的優先級很高
當通過//input[@type=“hidden”]可以定位多個元素的時候,加上索引
例:(//input[@type="hidden"])[3]

通過組合text文本

text不是用@符號,不是屬性,是函數 text()
比對以下2種寫法:
//a[text()=‘新聞’] text是方法名
//a[@text=‘師資團隊’] text是屬性名

例如:定位百度頁面的圖片超鏈接
//a[text()='圖片']

//i[@title="清空"]

通過函數組合contains(依據,值)

//a[contains(text(),'值')]模糊查找
//a[contains(@class,'值')]模糊查找

例:定位新聞超鏈接
通過text文本定位://a[contains(text(),'聞')]模糊查找

通過屬性名定位://a[contains(@class,'c-font-normal')]

xpath定位,如何確定唯一性?

在源代碼中ctrl+f,粘貼 查找

xpath:軸定位,軸運算

獲取父親://input[@type="text"]//parent::span

獲取祖先://input[@type="text"]//ancestor::form

后面還可以加條件 //input[@type="text"]//ancestor::form[@id='form']

同級查找,該元素(input)上方的,哥哥/姐姐
//input[@type="text"]/following-sibling::span
如果有多個哥哥就需要索引查找了

同級查找,該元素(input)下方的,妹妹/弟弟
//input[@type="text"]/preceding-sibling::span
如果有多個妹妹就需要索引查找了

總結

以上是生活随笔為你收集整理的自动化测试8大元素定位之xpath语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。