Hiểu biết cơ bản về XPath
1. XPath là gì
XPath (XML Path Language) là một ngôn ngữ dùng để xác định các phần cụ thể trong tài liệu XML.
HTML cũng có thể sử dụng XPath để xác định các phần tử.
Trong Akabot, XPath được sử dụng để xác định các phần tử giao diện người dùng (UI) để thao tác trong các hoạt động liên quan đến trình duyệt.
Hãy nghĩ XPath như một bản đồ dẫn đến các phần tử trên trang web hoặc cấu trúc XML.
2. Cú pháp XPath
XPath coi tài liệu như một cây, nơi các phần tử và thuộc tính được kết nối như các nhánh.
Cấu trúc cơ bản: / dùng để phân tách các phần tử, tương tự như đường dẫn URL.
Lấy XPath trên Google Chrome
Sử dụng Developer Tools (Công cụ dành cho nhà phát triển) tích hợp sẵn trong Chrome, ta có thể lấy XPath xác định phần "Knowledge Base" trên trang Akabot Portal.
Mở trang đầu của Akabot Portal trên Chrome.

Nhấp chuột phải vào phần "Knowledge Base", chọn Inspect.

Developer Tools sẽ hiện ra, phần tử Knowledge Base được bôi xanh. Nhấp chuột phải vào phần này.

Chọn Copy > Copy XPath để sao chép XPath vào clipboard.

Lưu ý: Developer Tools có thể hiển thị ở bên trái, dưới cùng hoặc cửa sổ riêng, tùy cài đặt. Muốn hiển thị ở bên phải, nhấp vào biểu tượng Customize and control DevTools ở góc trên bên phải của Developer Tools, chọn Dock side > Dock to bottom.
Kiểm tra XPath đã lấy
Dán XPath vừa sao chép vào Notepad hoặc trình soạn thảo khác. Ví dụ:
//*[@id="custom-blocks"]/div/div/div[2]/a
Đây là XPath đơn giản hóa.
Cấu trúc cây của HTML:
css
Copy code
/html/body/div[2]/div[1]/div/div/div[2]/a
Ý nghĩa: phần tử <a> bên trong <div> thứ hai, trực thuộc <body> dưới <html>, v.v.
Lưu ý: Có thể lấy XPath đầy đủ bằng cách chọn Copy > Copy full XPath.
Cú pháp XPath đơn giản
Ví dụ:
//*[@id="custom-blocks"]/div/div/div[2]/a
// → tìm tất cả các phần tử con.
- → mọi phần tử con. //* → mọi phần tử trong tài liệu.
@ → dùng để chỉ thuộc tính.
= → bằng, không phải phép gán.
[ ]→ dùng để viết điều kiện, ví dụ [id="custom-blocks"] nghĩa là phần tử có id="custom-blocks".
/ → phần tử trực tiếp con.
XPath thu được //*[@id="custom-blocks"]/div/div/div[2]/a chỉ định "phần tử a được bao quanh bởi phần tử div ngay bên dưới phần tử có thuộc tính id là 'custom-blocks'".
Bài viết này có hữu ích không?
Thật tuyệt!
Cám ơn phản hồi của bạn
Rất tiếc là chúng tôi không giúp được nhiều!
Cám ơn phản hồi của bạn
Đã gửi phản hồi
Chúng tôi đánh giá cao nỗ lực của bạn và sẽ cố gắng sửa bài viết