xpath 軸,節點之間的關係

2022-01-20 07:49:22 字數 1267 閱讀 2078

測試軸可定義相對於當前節點的節點集。

軸名稱結果

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 下乙個節點...