Xpath trong selenium webdriver

Như vậy bọn họ thấy bên trên trình để mắt sẽ hiển thị y nguim tài liệu nơi bắt đầu. Vậy làm giải pháp làm sao để chúng ta cũng có thể vận động trên các phần tử của tài liệu XML để trích ra các dữ liệu nhưng bọn họ quan trọng.

Bạn đang xem: Xpath trong selenium webdriver

Để thỏa mãn nhu cầu điều đó người ta kiến tạo ra một ngôn ngữ XPath. XPath tất cả một mục đích đặc biệt quan trọng trong Việc đàm phán tài liệu giữa những máy tính xách tay tốt giữa các lịch trình vận dụng vì chưng nó đến họ chắt lọc những tài liệu nhưng ta mong muốn.

XPath xem XML như một cây, cùng với ví dụ trên sẽ tiến hành biểu diễn bên dưới dạng cây sau:

*

Bây giờ chúng ta hãy học tập biện pháp đi qua những nút vào tư liệu XML.

Đường dẫn giỏi đối

Nếu đường dẫn XPath bước đầu bởi vệt / thì tất cả nghĩa đấy là một đường dẫn hoàn hảo và tuyệt vời nhất bắt đầu từ bỏ phần tử nơi bắt đầu.

Trong hình cấu tạo câylàm việc trên, bây chừ họ hy vọng chọn nút ít Order ta viết nlỗi sau:


Cú pháp nguyên: /child::Order

Cú pháp tắt: /Order


Đi ra nhánh con Custumer bởi XPath nlỗi sau:


Cú pháp nguyên: /child::Order/child::Custumer

Cú pháp tắt: /Order/Custumer


Trong trường phù hợp ước ao đi mang đến trực thuộc tính của nút thì chúng ta rất cần phải chứng tỏ tự khóa Attribute vào cú pháp nguim hoặc
trong cú pháp tắt.

Xem thêm: Chia Sẻ Team Leo Rank Nuôi Binh Dũng Âm Dương Sư : Hướng Dẫn Binh Dũng

Để lấy ở trong tính OrderNo của nút Order ta dùng cú pháp XPath nhỏng sau:


Cú pháp nguyên: /child::Order/Attribute::OrderNo

Cú pháp tắt: /Order/
OrderNo


Đường dẫn tương đối

Khi họ mong muốn trích 1 phần tử làm sao đó mà bọn họ chỉ biết tên của bộ phận này chđọng họ lần khần là bộ phận này ở ở chỗ như thế nào thì chúng ta có thể cần sử dụng đường dẫn tương đối để gia công điểu này. Chúng ta sử dụng lốt // nhằm chỉ mang đến trình đối chiếu biết đó là đường truyền tương đối.

lấy ví dụ, nhằm trích các thành phần mang tên là Product chúng ta viết nhỏng sau:


Cú pháp nguyên: //child::Product

Cú pháp viết tắt: //Product


lúc họ viết như thế này thì lúc trải qua trình đối chiếu đang truy nã tìm về những bộ phận có tên là Product.

Chọn những bộ phận bởi cam kết từ đại diện

Để chọn tất cả những thành phần nhỏ của một phần tử nào kia bọn họ sử dụng ký trường đoản cú đại diện *.

Xem thêm: Tiểu Sử Diễn Viên Vân Trang

lấy một ví dụ, để mang tất cả những thành phần bé của thành phần Order ta viết nlỗi sau:


Cú pháp nguyên: /child::Order/child::*

Cú pháp tắt: /Order/*


Chọn các phần tử theo điều kiện

Để lấy các bộ phận theo một ĐK như thế nào đó bọn họ sử dụng vệt ngoặc vuông(< >).

Ví dụ, để đưa đa số phần tử Product bao gồm nằm trong tính UnitPrice > 70 ta viết nlỗi sau:

Cú pháp nguyên:


//child::Product70>


Cú pháp tắt:


//Product<
UnitPrice>70>


lấy ví dụ, để lấy các bộ phận Item bao gồm bộ phận bé là Product với có nằm trong tính ProductID=1 họ viết nhỏng sau:

Cú pháp nguyên:


//child::Item


Cú pháp tắt:


//ItemProductID=1>


Một số hàm thường xuyên dùng

Tên hàm

Ý nghĩa

Ví dụ

count()

Hàm rước tổng thể nút nhỏ của một

//Item

Chọn tất cả các bộ phận Item bao gồm số phầntử con là 2

name()

Lấy thương hiệu của phần tử

/Order/*

Chọn tất cả những bộ phận con của Ordermang tên là Item

not()

Hàm tủ định

//Item/**)>

Chọn toàn bộ các phần tử nhỏ của Itemkhông chứa ở trong tính nào

normalize-space(str)

Hàm bỏ khoảng chừng trắng

//Item/*ProductID)=’abc’>

Chọn tất cả các bộ phận bé của Item cóở trong tính ProductID=abc (ko phânbiệt khoảng chừng trắng)

starts-with(str,substr)

Hàm khám nghiệm xem chuỗi str cóchứa chuỗi substr (tính trường đoản cú địa điểm đầutiên) xuất xắc không

//item/*

Chọn toàn bộ những thành phần con của Item cóthương hiệu ban đầu do ký từ bỏ P

contains(str,substr)

Kiểm tra một chuỗi str bao gồm chứachuổi nhỏ substr hay không

//item/*

Chọn tất cả những thành phần bé của phầntử Item mà lại tên của những thành phần nhỏ nàycó chđọng ký tự u

string-length(str)Hàm rước chiều nhiều năm của một chuỗi

//Item/*

Chọn tất cả những thành phần nhỏ của Itemnhưng mà độ dài tên của những phần tử con này là 5

position()Cho biết vị trí hiện thời của phần tử

//Item

Chọn bộ phận Item có vị trí là 5

floor()Lấy quý hiếm nhỏ dại tuyệt nhất gần với mức giá trịchỉ định
ceiling()Lấy giá trị lớn nhất gần với cái giá trịchỉ định
last()Vị trí nút cuối cùng

//Item

Chọn thành phần Item cuối cùng

Một số toán thù tử thường xuyên dùng


Tên tân oán tử

Chức năng

Ví dụ

|

Tân oán tử hoặc dùng làm chọn ra mộtlần nhiều bộ phận có ĐK không giống nhau

//Item/*

Chọn toàn bộ những bộ phận là bé của Itemtất cả có tên ban đầu vì cam kết từ bỏ P hoặc Q

descendant

Chọn bộ phận con của thành phần chỉ định

/Order /Item/Product/descendant::*

Chọn toàn bộ các thành phần là bé của/Order/Item/Product

ancestor

Chọn phần tử cấp trên

/Order/Item/Product/ancestor::*

lựa chọn 2 bộ phận Item và thành phần Order

following-sibling

Chọn bộ phận cùng cấp cho kế tiếp

/Order/OrderDate/following-sibling::*

lựa chọn các bộ phận Custumer với hai phầntử Item theo sau cùng thuộc cấp cho với phầntử OrderDate

preceding-sibling

Chọn thành phần cùng cấp cho trước đó

/Order/Custumer/preceding-sibling::*

lựa chọn phần tử OrderDate

followingChọn bộ phận theo sau phần tử chỉ định

/Order/OrderDate/following::*

chọn phần tử Custumer và 2 phần tửItem cùng những thành phần bé của Item

precedingChọn những bộ phận đứng trước thành phần chỉ định

/Order/Custumer/preceding::*

lựa chọn toàn bộ các thành phần đi trước phần tửCustumer

descendant-or-selfChọn thành phần cung cấp dưới với bộ phận chỉ định

/Order/Item/descendant-or-self::*

Chọn tất cả các thành phần Item cùng cácbộ phận bé của bộ phận này

ancestor-or-selfChọn bộ phận cấp cho trên với phần tử

/Order/Item/product/ancestor-or-self::*

chọn 2 phân tử sản phẩm, 2 bộ phận Itemvới thành phần Order

Một số ví dụ

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

Nếu chúng ta bao gồm điều thắc mắc, bạn hãy comment cho motoavangard.com và để được đáp án. Bài viết này được share bởi LongDT. Nếu bạn muốn share bài viết, bạn hãy Đăng ký làm cho thành viên! « Prev
Next » Đăng cam kết học thử Đăng ký khóa huấn luyện

Chuyên mục: CUỘC SỐNG