Dưới đây là các phương thức axe trong XPath cùng với ví dụ và đáp án:
AxisName | Kết quả | Ví dụ | Đáp án |
---|---|---|---|
ancestor | Chọn tất cả tổ tiên (cha mẹ, ông bà, ...) của nút hiện tại |
XPath: //div[@id='child']/ancestor::div
HTML: <div id="grandparent"> <div id="parent"> <div id="child">Nội dung</div> </div> </div> |
Chọn các phần tử div có id="grandparent và id="parent . |
ancestor-or-self | Chọn tất cả tổ tiên và chính nút hiện tại |
XPath: //div[@id='child']/ancestor-or-self::div
HTML: <div id="grandparent"> <div id="parent"> <div id="child">Nội dung</div> </div> </div> |
Chọn các phần tử div có id="grandparent , id="parent và id="child . |
attribute | Chọn tất cả thuộc tính của nút hiện tại |
XPath: //div[@id='child']/attribute::*
HTML: <div id="child" class="example">Nội dung</div> |
Chọn các thuộc tính id và class của div . |
child | Chọn tất cả con của nút hiện tại |
XPath: //div[@id='parent']/child::*
HTML: <div id="parent"> <div id="child1">Nội dung 1</div> <div id="child2">Nội dung 2</div> </div> |
Chọn các phần tử div có id="child1 và id="child2 . |
descendant | Chọn tất cả hậu duệ của nút hiện tại |
XPath: //div[@id='parent']/descendant::div
HTML: <div id="parent"> <div id="child1">Nội dung 1</div> <div id="child2">Nội dung 2</div> </div> |
Chọn các phần tử div có id="child1 và id="child2 . |
descendant-or-self | Chọn tất cả hậu duệ và chính nút hiện tại |
XPath: //div[@id='parent']/descendant-or-self::div
HTML: <div id="parent"> <div id="child1">Nội dung 1</div> <div id="child2">Nội dung 2</div> </div> |
Chọn các phần tử div có id="parent , id="child1 và id="child2 . |
following | Chọn tất cả mọi thứ trong tài liệu sau thẻ đóng của nút hiện tại |
XPath: //div[@id='current']/following::div
HTML: <div id="current">Nội dung hiện tại</div> <div id="following1">Nội dung sau 1</div> <div id="following2">Nội dung sau 2</div> |
Chọn các phần tử div có id="following1 và id="following2 . |
following-sibling | Chọn tất cả anh chị em sau nút hiện tại |
XPath: //div[@id='current']/following-sibling::div
HTML: <div id="current">Nội dung hiện tại</div> <div id="sibling1">Anh chị em sau 1</div> <div id="sibling2">Anh chị em sau 2</div> |
Chọn các phần tử div có id="sibling1 và id="sibling2 . |
namespace | Chọn tất cả các nút namespace của nút hiện tại |
XPath: //element/namespace::*
HTML: <foo xmlns:bar="http://example.com">Nội dung</foo> |
Chọn nút namespace xmlns:bar="http://example.com" . |
parent | Chọn cha mẹ của nút hiện tại |
XPath: //div[@id='child']/parent::div
HTML: <div id="parent"> <div id="child">Nội dung</div> </div> |
Chọn phần tử div có id="parent . |
preceding | Chọn tất cả các nút xuất hiện trước nút hiện tại trong tài liệu, trừ tổ tiên, các nút thuộc tính và các nút namespace |
XPath: //div[@id='current']/preceding::div
HTML: <div id="preceding1">Trước 1</div> <div id="preceding2">Trước 2</div> <div id="current">Nội dung hiện tại</div> |
Chọn các phần tử div có id="preceding1 và id="preceding2 . |
preceding-sibling | Chọn tất cả anh chị em trước nút hiện tại |
XPath: //div[@id='current']/preceding-sibling::div
HTML: <div id="sibling1">Anh chị em trước 1</div> <div id="sibling2">Anh chị em trước 2</div> <div id="current">Nội dung hiện tại</div> |
Chọn các phần tử div có id="sibling1 và id="sibling2 . |
self | Chọn chính nút hiện tại |
XPath: //div[@id='current']/self::div
HTML: <div id="current">Nội dung hiện tại</div> |
Chọn phần tử div có id="current . |