搜尋
首頁web前端html教學Xpath定位的總結

Xpath定位的總結

Mar 08, 2017 am 11:51 AM

1.相對定位與絕對定位

//表示相對定位,對於經常發生變化的頁面或節點要用相對定位進行找出

Xpath定位的總結

/表示絕對定位,一成不變的時候可以用絕對定位來找出

 

2.節點

頂層節點:bookstore

Xpath定位的總結目前節點#:.# ”

如果目前節點有多個則符合多個

Xpath定位的總結

如果目前節點只有1個,則符合1

Xpath定位的總結

選取目前節點的節點#” ..

對於html/body下的p來說它的父節點就是body,這是用絕對路徑,表示必須從html下找到body再找到p,然後符合p的父節點。

Xpath定位的總結 

如果用相對路徑來找父節點,可以看到從p開始就不考慮它的絕對位置,也就是說從body開始符合父節點條件的所有元素都會被找出來。

 

找出目前節點下的所有元素://book[1]/..

這個是節點索引+父節點的方式

 Xpath定位的總結

#3.透過標籤定位元素

//book:找到所有名為book的標籤

## 

Xpath定位的總結

再來一個百度的

 

Xpath定位的總結

#4.屬性定位

1.

定位屬性為category 的元素

//book[@category='cooking']  '

[] '表示查找屬性

 

Xpath定位的總結

2.

使用text文字屬性精確定位,text也可以用.代替

找出//book//price下方文字為30.00的元素

 

Xpath定位的總結

 

#

尋找year標籤中text文字中大於2004#的元素

 Xpath定位的總結

 

3.使用contains模糊定位,contains意思是包含

#模糊定位找出文字資訊包含Potter的元素://title[contains(text(),"Potter")]  

Xpath定位的總結 

#擴充練習

 Xpath定位的總結

Xpath定位的總結

 

 

4.」*」表示任何屬性所有屬性

找出所有有屬性值的://@*   

 Xpath定位的總結

#找title標籤所有有屬性的元素

 Xpath定位的總結

Not取反,表示尋找title標籤裡沒有屬性的元素,這裡沒有所以沒查找出來

 

@*表示所有屬性

not(@*)表示沒有屬性

 

5.尋找帶有category屬性的元素

//@category

 Xpath定位的總結

Xpath定位的總結

5.
邏輯運算子

Xpath定位的總結

#1.

透過and運算子定位元素

//book[@category="web" and @cover="paperback"]

 2.透過or運算子定位元素

// book[@category="children" or @cover="paperback"] 

Xpath定位的總結

3.

透過取反

not運算子定位元素

Xpath定位的總結//book[not(position()>2)]  

book標籤中position大於2的

Xpath定位的總結

# ########//book[not(position()>2)]  not取反###############//year[not(.=2005) ]  ###表示取非###2005文字節點的year節點###### ######

透過「>=」「運算子定位元素
//price>=30 找出元素中是否存在price大於等於30的 存在回傳Boolean true 不存在回傳Boolean: false

 Xpath定位的總結

Xpath定位的總結

4.透過「!」運算子定位元素

//book [@category!='web' ]

Xpath定位的總結 

 

6.透過節點索引定位元素

Xpath定位的總結

Xpath定位的總結

Xpath定位的總結

##1.找出第一個元素的

//book[1]Xpath定位的總結:找到第一個標籤為

book

  

2.
透過position定位

3個

元素Xpath定位的總結

//bookstore/book[position()=3]      

 

Xpath定位的總結#3.

透過

position取多個元素//bookstore/book[position()>=2]    

 

4.透過last() 函數找到最後一個元素

//book[last()]

 

5.

透過

last ()Xpath定位的總結函數找出倒數第二個元素

//book[last()-1]    

 

 7 .

軸定位Xpath定位的總結

尋找book[1]/title

的父元素:###//book [1]/title/parent::*##################找出###book[1]###的子元素:###//book[ 1]/child::*###############//book/child::price ###找出###book標籤下的所有子元素中標籤為price的# ##### #########following-sibling###的應用######//bookstore/book[1]/child::title/following-sibling::* ## ####following-sibling表示目前節點的後序所有兄弟節點元素#########就是說找###title後面所有兄弟節點###### #################################################################### #####/bookstore/book[1]/child::title/following-sibling::author ######following-sibling::author ###指定查找###title後面所有兄弟節點中名為author ###的元素############ #######preceding-sibling::* 表示目前節點的前面所有兄弟節點元素#######//bookstore /book[1]/child::price/preceding-sibling::*  ###意為找出###price節點前面所有的兄弟元素###

Xpath定位的總結

找出祖先節點包含自己://book[1]/ancestor-or-self::*

Xpath定位的總結

尋找子孫節點包含自己://book[1]/descendant-or-self::*

 Xpath定位的總結


#尋找目前節點的所有元素://book[1]/preceding::* 找出目前節點下的所有元素

Xpath定位的總結

##//book[2]//preceding::*  

會把book[2]以及book[2]節點之前的所有元素都找出來

Xpath定位的總結

軸總結:

parent::* 表示目前節點的父節點元素

ancestor::* 表示目前節點的祖先節點元素
child::* 表示目前節點的子元素  /A/descendant::* 表示A的所有後代元素
self::* 表示當前節點的自身元素
ancestor-or-self::* 表示當前節點的及它的祖先節點元素
descendant-or-self::* 表示當前節點的及它們的後代元素
following-sibling::* 表示當前節點的後序所有兄弟節點元素
preceding-sibling::* 表示目前節點的前面所有兄弟節點元素
following::* 表示目前節點的後序所有元素
preceding::* 表示目前節點的所有元素

  #

以上是Xpath定位的總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
為什麼HTML標籤對Web開發很重要?為什麼HTML標籤對Web開發很重要?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentastheyandendenhancewebpages.1)semantictagsimproveaccessibilityandseo.2)semanteLayOut,語義和互動性。 3)poseriblesibilityandseoandseo.3)poseriblesoftagscanoftagscanoftagscanoptagscanoptimizeperefeneandimizeanDenSuroceRecRoscRoss-BrowserCrowserCercerComercompatibility。

說明將一致的編碼樣式用於HTML標籤和屬性的重要性。說明將一致的編碼樣式用於HTML標籤和屬性的重要性。May 01, 2025 am 12:01 AM

一致的HTML編碼風格很重要,因為它提高了代碼的可讀性、可維護性和效率。 1)使用小寫標籤和屬性,2)保持一致的縮進,3)選擇並堅持使用單引號或雙引號,4)避免在項目中混合使用不同風格,5)利用自動化工具如Prettier或ESLint來確保風格的一致性。

如何在 Bootstrap 4 中實現多項目輪播?如何在 Bootstrap 4 中實現多項目輪播?Apr 30, 2025 pm 03:24 PM

在Bootstrap4中實現多項目輪播的解決方案在Bootstrap4中實現多項目輪播並不是一件簡單的事情。雖然Bootstrap...

deepseek官網是如何實現鼠標滾動事件穿透效果的?deepseek官網是如何實現鼠標滾動事件穿透效果的?Apr 30, 2025 pm 03:21 PM

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...

HTML 視頻的播放控件樣式怎麼修改HTML 視頻的播放控件樣式怎麼修改Apr 30, 2025 pm 03:18 PM

無法直接通過CSS修改HTML視頻的默認播放控件樣式。 1.使用JavaScript創建自定義控件。 2.通過CSS美化這些控件。 3.考慮兼容性、用戶體驗和性能,使用庫如Video.js或Plyr可簡化過程。

在手機上使用原生select會帶來哪些問題?在手機上使用原生select會帶來哪些問題?Apr 30, 2025 pm 03:15 PM

在手機上使用原生select的潛在問題在開發移動端應用時,我們常常會遇到選擇框的需求。通常情況下,開發者傾...

在手機上使用原生select的弊端是什麼?在手機上使用原生select的弊端是什麼?Apr 30, 2025 pm 03:12 PM

在手機上使用原生select的弊端是什麼?在移動設備上開發應用時,選擇合適的UI組件是非常重要的。許多開發者�...

如何使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理?如何使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理?Apr 30, 2025 pm 03:09 PM

使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理在Three.js中使用Octree實現房間內的第三人稱漫遊並添加碰�...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。