2025澳门开彩结果历史记录-2025澳门开彩结果-2025澳门开彩查询记录-2025澳门聚宝盆-2025澳门九点半一肖一码-2025澳门精准资料免费全览

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

xpath元素定位常用的幾種方法

freeflydom
2024年11月1日 9:32 本文熱度 1187

元素定位有8種方式,但是在工作中一般都用css、xpath定位。
id定位需要開發配合,而且項目迭代很快,大多都是用的框架,不會單獨去定義id。
css定位語法比較簡潔,運行速度稍快,但總體來講,因為xpath的功能更多,更強大,而且xpath可以根據文字來定位,所以我們選擇xpath。
雖然xpath定位速度慢,但是自動化測試很多時候都是在無人值守時間跑的,可以忽略時間的問題。

xpath是使用路徑表達式來選取XML文檔中的節點或節點集。下面重點學習下xpath的基礎語法和xpath的一些函數

xpath基礎語法#

  1. /:從根節點選取或取子節點根節點就是/,比如復制百度的用戶名輸入框的xpath完整路徑
    /html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
    這個路徑就是依次往下的路徑,/html是根節點下第一個標簽,隨后去找到html標簽下的body,依次找,最后找到input標簽。

  2. //: 模糊查找標簽,也就是不考慮他們的位置,只要找到復合標簽名稱的標簽就行比如//input就會找到當前頁面上所有的input元素

一般定位元素,都是使用模糊查找,因為這樣更加靈活。如果前端改了元素,使用xpath絕對路徑定位的元素大概率會受到影響,而用模糊查找的xpath路徑可能是不需要修改元素定位表達式的。

  1. .:選取當前節點

  2. ..:選取當前節點的父節點

  3. //div[@class='s-p-top']: 選取所有標簽名為div,屬性class值為s-p-top的元素

  4. //span[text()='設置']:選取所有標簽名為span,span標簽的文字內容為’設置’的元素

  1. //div[@class='s-top-left-new s-isindex-wrap']/a[1]:選取第一個a

  2. //div[@class='s-top-left-new s-isindex-wrap']/a[last()]:選取最后一個a
    //div[@class='s-top-left-new s-isindex-wrap']/a[last()-1]:選取倒數第二個a

xpath之contains、starts-with#

  1. contains:有兩種使用場景
    1)屬性
    當class中含有值,如‘s_ipt’,就滿足條件
    //span[contains(@class,'s_ipt')]

2)文字
當文字中含有值,如‘圖片’,就滿足條件
//span[contains(text(),'圖片')]

  1. starts-with:匹配一個屬性開始位置的關鍵字
    //span[starts-with(text(),'按')]

xpath軸之following-sibling#

定位同級元素的下一個元素
//div[@class='side-entry aging-entry']/following-sibling::div

以百度頁面為例,需要定位二維碼,可以先定位到輔助模式,輔助模式是一個div元素,跟它同級的div在它的下方,所以用following-sibling

xpath軸之preceding-sibling#

定位同級元素的上一個元素
//div[contains(@class,'qrcode-nologin')]/preceding-sibling::div

以百度頁面為例,需要定位輔助模式,可以先定位到二維碼,二維碼是一個div元素,跟它同級的div在它的上方,所以用preceding-sibling::div

xpath軸之ancestor#

//div[contains(@class,'qrcode-nologin')]/ancestor::div[@id='s_side_wrapper']/div

以百度頁面為例,需要定位輔助模式,可以先定位到二維碼,隨后向上找到s_side_wrapper這個div標簽,再往下定位找到輔助模式

 

xpath定位基礎總結#

  • //ul/*:ul的所有子元素

  • //input[2]:第2個input元素

  • //input[last()]:最后一個input元素

  • //div[@class='']: 有class屬性的div元素

  • //span[text()='XX']: 文本是XX的span元素

  • //div[contains(@class,'')]:包含class屬性的div元素

xpath軸定位表達式大全#

使用語法:軸名稱::節點名稱前后的定位與之前一致,用/隔開即可

  • ancestor:祖先節點,包括父節點

  • parent:父節點

  • child:子節點

  • descendant:所有后代(兒子、孫子、曾孫子...)

  • preceding:當前元素節點標簽之前的所有節點(HTML頁面之前的)

  • preceding-sibling:當前元素節點標簽之前的所有兄弟節點(同級)

  • following:當前元素節點標簽之后的所有節點

  • following-sibling:當前元素節點標簽之后的所有兄弟節點(同級)


作者:是小魚呀 出處:https://www.cnblogs.com/sophia12138/p/17248267.html



該文章在 2024/11/1 9:32:44 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 118图库彩色厍图印刷图v1.49.40 | 香港6合宝典旧版 | 二四六天天下好彩944CC赢彩 | 香港六合狂准红姐彩色图库 | 7777788888王中王最新传真 | 香港一码一肖 | 246天天好彩免费资料官方版 | 白小姐三肖三码中特网 | 刘半仙伦谈资料_肖一码大全 | 246好彩天天免费资枓大全 | 彩库宝典安全下载官网 | 澳门今晚必中一肖一码2025 | 四海图库看图区+香港 | 新澳门2025今晚开码公开 | 澳门特马龙门客栈 | 管家婆分销erp官网 管家婆分销erp | 天下彩二四六944cc资料大全 | 新澳天天彩免费资料2025老 | 香港和澳门开彩结果 | 2025新澳门002期管家婆 | 澳门六彩资料大全2025年资料 | 今晚澳门最准一肖一码 | 2025香港特区薪酬指南 | 香港正版马会资料 | 天牛3D图库红五图库汇总 | 今晚最准确一注终于知道了 | 澳门内部公开资料最准暗网 | 2025赛季香港超半全场统计{2025 2025全年資料免費大全優 | 4949澳门免费资料内容资料 | 香港二四六开奖免费资料唯美图库 | 澳门正版资料免费大全精准正式版 | 澳门今天晚上买什么好——精选解释解析落实 | 2025年澳门与香港一肖一码 | 2025今晚澳门开什么号码 | 金光佛论坛一句一码 | 2025新奥门资料大全123期 | 澳门四肖八码期期准免费930 | cc是一个免费的网站 | 新澳门一肖中100%期期准 | 2025澳门最准内部免费资料 | 中四柱彩图图片 |