測試軸可定義相對於當前節點的節點集。
軸名稱結果
ancestor
選取當前節點的所有先輩(父、祖父等)。
ancestor-or-self
選取當前節點的所有先輩(父、祖父等)以及當前節點本身。
attribute
選取當前節點的所有屬性。
child
選取當前節點的所有子元素。
descendant
選取當前節點的所有後代元素(子、孫等)。
descendant-or-self
選取當前節點的所有後代元素(子、孫等)以及當前節點本身。
following
選取文件中當前節點的結束標籤之後的所有節點。
namespace
選取當前節點的所有命名空間節點。
parent
選取當前節點的父節點。
preceding
選取文件中當前節點的開始標籤之前的所有節點。
preceding-sibling
選取當前節點之前的所有同級節點。
self
選取當前節點。
位置路徑可以是絕對的,也可以是相對的。
絕對路徑起始於正斜槓( / ),而相對路徑不會這樣。
軸定義所選節點與當前節點之間的樹關係
節點測試(node-test)
識別某個軸內部的節點
零個或者更多謂語(predicate)
更深入地提煉所選的節點集
軸名稱::節點測試[謂語]例子結果
child::book
選取所有屬於當前節點的子元素的 book 節點。
attribute::lang
選取當前節點的 lang 屬性。
child::*
選取當前節點的所有子元素。
attribute::*
選取當前節點的所有屬性。
child::text()
選取當前節點的所有文字子節點。
child::node()
選取當前節點的所有子節點。
descendant::book
選取當前節點的所有 book 後代。
ancestor::book
選擇當前節點的所有 book 先輩。
ancestor-or-self::book
選取當前節點的所有 book 先輩以及當前節點(如果此節點是 book 節點)
child::*/child::price
選取當前節點的所有 price 孫節點。
使用Xpath軸定位當前元素節點的節點集
自動化測試在定位頁面元素時,無法直接使用當前節點屬性定位。而如果使用全路徑定位,造成定位方法值過長,穩定性欠缺,給後期指令碼維護造成困難。示例 1 通過當前節點定位父節點指定子節點元素。上圖所示 通過1的name定位2的元素。xpath示例 name 銀行卡 parent child last 2 ...
DOM節點之間的關係,與節點的基本操作
以下獲取節點都會獲取所有的節點型別,不只是包括元素節點,還有文字型別等 獲取乙個元素節點的所有子節點 元素節點物件.childnodes 獲取到的是乙個類陣列nodelist 獲取乙個元素節點的第乙個子節點 元素節點物件.firstchild 獲取乙個元素節點的最後乙個子節點 元素節點物件.last...
DOM資料之節點之間的訪問關係
dom 訪問關係 節點的獲得 節點的訪問關係,是以屬性的方式存在的。dom的節點並不是孤立的,因此可以通過dom節點之間的相對關係對它們進行訪問。父節點 parentnode 呼叫者就是節點。乙個節點只有乙個父節點。呼叫方式就是節點.parentnode.兄弟節點 nextsibling 下乙個節點...