XPath là gì? Chỉ dẫn dùng XPath cơ bản

Lúc học về lập trình và vươn lên là net, chắc hẳn bạn đã làm cho quen có XML, HTML, CSS và JavaScript. Vậy, có bao giờ bạn nghe về việc dùng XPath để tương trợ trong việc trao đổi, truy xuất dữ liệu trong tài liệu XML cũng như dùng để đánh giá net app chưa?

Tìm hiểu về XPath

Lưu ý: XPath có nhiều công dụng khác nhau. Trong bài viết này. Tino Group sẽ tập trung khai thác khía cạnh kiểm thử net app của XPath.

XPath là gì?

XPath là 1 ngôn ngữ được thiết kế ra có mục đích giúp cho ứng dụng có thể “đi lại” bên trong những tệp XML để truy xuất những giá trị, thuộc tính của những component.

Công dụng điển hình bạn có thể dàng nhận ra nhất đấy chính là XPath dùng những biểu thức đường dẫn để chọn những nút hoặc tập hợp nút trong tài liệu XML.

“Hình dạng” giống có XPath bạn đang tìm hiểu đấy chính là cấu trúc thư mục cây của hệ thống tệp trong hệ điều hành bạn đang dùng đấy!

XPath trong Selenium là gì?

Cho khách hàng chưa biết: Selenium là 1 trình thông qua tự động, mạnh mẽ, miễn chi phí và bạn có thể tùy ý thực hành bất kỳ điều gì đối có công cụ này. Phần lớn người mua dùng Selenium như 1 công cụ để kiểm thử những net app, nhưng bạn vẫn có thể khai thác nhiều tính năng từ Selenium đấy!

Xem Thêm  Hệ sinh thái Fantom (FTM) - Ko ngừng mở rộng ko gian DeFi

XPath trong Selenium là 1 đường dẫn XML được dùng để điều hướng thông qua cấu trúc HTML của trang. Bạn có thể hiểu, XPath là 1 cú pháp hoặc ngôn ngữ để kiếm tìm bất kỳ component nào trên trang bằng phương pháp dùng biểu thức đường dẫn XML hoặc dùng cấu trúc HTML DOM.

Cú pháp của XPath ra sao?

XPath chứa đường dẫn của component nằm trên trang net của bạn, sau đây là cấu trúc tiêu chuẩn để tạo XPath:

Trong đấy:

  • //: chọn nút hiện tại
  • Tagname: tên thẻ của nút
  • @: chọn thuộc tính
  • Attribute: tên thuộc tính của nút
  • Worth: giá trị của thuộc tính

Để định vị được chính xác component, chúng ta sẽ có nhiều thông tin, khía cạnh hay thuộc tính của component đấy để xác định như:

XPath

Tìm bằng những khía cạnh khác nhau

ID

Để tìm component theo ID của component

Classname

Để tìm component theo Classname của component

Title

Để tìm component theo title của component

Hyperlink textual content

Để tìm component theo textual content của hyperlink

XPath

XPath cần thiết để có thể tìm những phần tử động và “tra cứu’ giữa những component khác trên trang net

CSS path

CSS path chỉ định vị những component ko có title, class hoặc ID.

Có bao nhiêu loại XPath?

Về cơ bản, chúng ta sẽ có 2 loại XPath bao gồm:

  • Relative XPath: XPath tương đối/ XPath ko ổn định
  • Absolute XPath: XPath tuyệt đối/ XPath ổn định

Tiếng Anh chỉ có 1 phiên bản, nhưng trong tiếng Việt sẽ có thể tồn tại thêm nhiều tên gọi khác nhau nữa. Về cơ bản, XPath tuyệt đối và XPath tương đối là 2 tên gọi thông dụng nhất.

XPath tương đối/ XPath ko ổn định

XPath tương đối sẽ khởi đầu thực hành từ giữa cấu trúc HTML DOM, từ vị trí dấu //. Đồng nghĩa có XPath tương đối sẽ kiếm tìm những component ở bất kỳ đâu trên trang net và ko cần 1 đường dẫn dài, toàn bộ.

Xem Thêm  Bolt là gì? Toàn tập về tiền điện tử BOLT Token

Trong thực tế, XPath tương đối sẽ được ưu tiên hơn vì ko cần cần có 1 đường dẫn hoàn chỉnh tới component gốc.

Dí dụ như component TESTING trong ảnh.

Ví dụ bạn thực hành check trên những net app có XPath tương đối, đôi lúc bạn sẽ lấy ra những phần từ có phần khác nhau. Lý do là đôi lúc lập trình viên của net dùng generate parts động, 1 kỹ thuật khá phổ biến lúc vươn lên là net app.

XPath tuyệt đối/ XPath ổn định

XPath tuyệt đối là phương pháp quản lý và chính xác nhất để tìm ra vị trí của component. Tuy nhiên, ví dụ web site dùng generate parts, chắc chắn việc kiếm tìm của bạn sẽ thất bại vì đường dẫn ko ổn định.

Đặc điểm của XPath tuyệt đối chính là XPath tuyệt đối khởi đầu bằng dấu gạch chéo /, đồng nghĩa có việc bạn có thể chọn component từ nút gốc.

Dí dụ như component TESTING trong ảnh: đường dẫn chính xác sẽ “siêu dài”.

Chỉ dẫn dùng XPath cơ bản

Sau quá trình tìm hiểu cơ bản những thông tin về XPath, chúng ta sẽ tiếp tục tới có phần dùng XPath cơ bản nhé!

Dùng XPath từ cơ bản nhất

Cơ bản, biểu thức của XPath có những nút hoặc danh sách những nút có những thuộc tính như: title, ID, classname,…. chúng ta có 1 dí dụ cơ bản trong ảnh như sau:

Bên cạnh ra, Tino Group còn chuẩn bị 1 số dí dụ khác để bạn tham khảo:

  • XPath=//enter[@type=’text’]
  • XPath=//label[@id=’tinohost’]
  • XPath=//enter[@value=’hostinggiare’]
  • XPath=//*[@class=’wiki’]
  • XPath=//a[@href=’https://wiki.tino.org/’]
  • XPath= //img[@src=’//wiki.tino.org/images/home/java.png’]

Dùng Comprises() trong XPath

Trong XPath, bạn có thể dùng hàm Comprises() để tìm những giá trị của thuộc tính động bất kỳ, dí dụ như thông tin đăng nhập.

Xem Thêm  Optimism là gì? Dự án Layer 2 nổi bật trên Ethereum & OP Token

Trong dí dụ, bạn có thể thấy có 1 dòng, chúng ta có thể tìm ra 2 button trong trang đăng nhập là nút LOGIN và nút RESET. Đặc điểm: cả 2 đều có chữ “btn”. Đây là từ viết tắt tên biến button. Bạn có thể hiểu đây là quy tắc chung lúc viết code, đa số lập trình viên đều thực hành thế này có những chức năng dạng nút.

Dùng toán tử trong XPath

Chúng ta sẽ xem xét dí dụ trên 2 toán tử OR và AND. Ví dụ quen thuộc có việc code, bạn sẽ thấy 2 toán tử này bình thường Ví dụ bạn chưa quen code, Tino Group sẽ giải thích khái quát về 2 toán tử này nhé:

  • OR: dùng 2 điều kiện, ví dụ 1 trong 2 đúng sẽ là đúng. XPath sẽ liệt kê ra những component đáp ứng được ít nhất 1 điều kiện lọc.
  • AND: dùng 2 điều kiện, cả 2 điều kiện đúng mới được tính là đúng, 1 trong 2 bị sai sẽ tính là sai và bỏ qua component.

Dùng textual content() trong XPath

Ví dụ bạn muốn tìm 1 component và đoán ra được component có tên là gì, bạn có thể dùng hàm XPath Textual content(). Trong selenium webdriver, bạn có thể dùng hàm này để kiếm tìm những component dựa theo textual content (nội dung chuỗi có thể là tên, giá trị hoặc ID của component). Điều kiện là những phần tử này sẽ cần cần ở dạng chuỗi.

Dí dụ, bạn tìm bằng phương pháp: XPath=//td[text()=’UserID’], sẽ có 1 component duy nhất trên trang đăng nhập có textual content là UserID.

Tới đây, chúng ta đã cùng nhau tìm hiểu về siêu nhiều thông tin về XPath là gì. Tino Group chúc bạn sẽ có thể trở nên 1 tester net app chuyên nghiệp hoặc bạn sẽ có thể đánh giá trang net của bạn 1 phương pháp thành công.

Bài viết có tham khảo nội dung từ nhiều nguồn: W3Schools, Guru99, Học Lập Trình, Wikipedia, Developer Mozilla…

Những câu hỏi thường gặp về XPath

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Middle, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí MinhVăn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh
  • Điện thoại: 0364 333 333Tổng đài miễn chi phí: 1800 6734
  • Electronic mail: gross [email protected]
  • Web site: www.tino.org