Bộ chọn css xpath

Khi học về lập trình và phát triển web, chắc chắn bạn đã làm quen với XML, HTML, CSS và JavaScript. Vì vậy, có bao giờ bạn nghe về việc sử dụng XPath để hỗ trợ trong quá trình trao đổi, truy xuất dữ liệu trong tài liệu XML cũng như sử dụng để kiểm tra ứng dụng web chưa?

Nội dung chính Hiển thị

  • Tìm hiểu về XPath
  • XPath là gì?
  • XPath trong Selenium là gì?
  • Cú pháp của XPath ra sao?
  • Có bao nhiêu loại XPath?
  • Sử dụng XPath từ cơ bản nhất
  • Sử dụng Chứa() trong XPath
  • Sử dụng toán tử trong XPath
  • Use text() in XPath
  • Những câu hỏi thường gặp về XPath
  • Công cụ hỗ trợ lấy XPath nào miễn phí và mạnh mẽ?
  • Làm sao để tìm hiểu thêm về XPath?
  • XPath has bao nhiêu chức năng?
  • XPath chỉ có thể sử dụng trong web đúng không?

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 tra ứng dụng web của XPath

XPath là gì?

XPath là một ngôn ngữ được thiết kế với mục đích giúp ứng dụng có thể “di chuyển” bên trong tệp XML để truy xuất các giá trị, thuộc tính của các phần tử

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

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

Bộ chọn css xpath

XPath trong Selenium là gì?

Cho các bạn chưa biết. Selenium là trình duyệt tự động, mạnh mẽ, miễn phí và bạn có thể tùy ý thực hiện bất kỳ điều gì đối với công cụ này. Phần lớn người dùng sử dụng Selenium như một công cụ để kiểm tra các ứng dụng web, nhưng bạn vẫn có thể khai thác nhiều tính năng từ Selenium đó.

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

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

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

Hướng dẫn xpath html

in which

  • //. select nút hiện tại
  • tên thẻ. tên thẻ của nút
  • @. chọn thuộc tính
  • Thuộc tính. tên thuộc tính của nút
  • Giá trị. value of property

Để định vị phần tử được xác định chính xác, chúng ta sẽ có nhiều thông tin, phần tử tố hay thuộc tính của phần tử đó để xác định như

Hướng dẫn xpath html

QUẢNG CÁO

Xpath

Find by other Element Element

TÔI

To find phần tử theo ID của phần tử

Tên lớp

To find element theo Classname of element

Tên

To find phần tử theo tên của phần tử

văn bản liên kết

To find element by text of link

Xpath

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

đường dẫn CSS

Đường dẫn CSS chỉ định vị trí các phần tử không có tên, lớp 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

  • XPath tương đối. XPath tương đối/ XPath không ổn định
  • XPath tuyệt đối. XPath tuyệt đối/ XPath ổn định

Tiếng Anh chỉ có một 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à hai tên gọi thông tin ứng dụng tốt nhất

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

XPath đối tương sẽ bắt đầu thực thi từ giữa cấu trúc HTML DOM, từ vị trí dấu //. Đồng nghĩa với XPath đối tương sẽ tìm kiếm các phần tử ở bất kỳ đâu trên trang web và không cần một đường dẫn dài, đầy đủ

Trong thực tế, XPath đối tương sẽ được ưu tiên hơn vì không cần phải có đường dẫn hoàn chỉnh đến phần tử gốc

Ví dụ như phần tử KIỂM TRA trong ảnh

Hướng dẫn xpath html

Nếu bạn thực hiện kiểm tra trên các ứng dụng web có XPath tương đối, đôi khi bạn sẽ lấy các phần từ các phần khác nhau. Lý do là gấp đôi khi lập trình viên của web sử dụng tạo các phần tử động, một kỹ thuật khá phổ biến khi phát triển ứng dụng web

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

Xpath tuyệt đối là cách trực tiếp và chính xác nhất để tìm ra vị trí của phần tử. Tuy nhiên, nếu trang web sử dụng các yếu tố tạo ra, chắc chắn rằng công việc tìm kiếm của bạn sẽ thất bại vì đường dẫn không ổn định

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

Ví dụ như phần tử KIỂM TRA trong ảnh. đường dẫn chính xác sẽ "siêu dài"

Hướng dẫn xpath html

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

Sử dụng XPath từ cơ bản nhất

Cơ bản, biểu thức của XPath có các nút hoặc nút danh sách các nút với các thuộc tính như. tên, ID, tên lớp,…. chúng ta có một ví dụ cơ bản trong ảnh như sau

Hướng dẫn xpath html

Ngoài ra, Tino Group còn chuẩn bị một số ví dụ khác để bạn tham khảo

  • XPath=//input[@type=’text’]
  • XPath=//nhãn[@id=’tinohost’]
  • XPath=//input[@value=’hostinggiare’]
  • XPath=//*[@class=’wiki’]
  • XPath=//a[@href=’https. //wiki. tino. tổ chức/’]
  • XPath= //img[@src=’//wiki. tino. org/hình ảnh/nhà/java. png’]

Sử dụng Chứa() trong XPath

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

Hướng dẫn xpath html

Trong ví dụ, bạn có thể thấy với một dòng, chúng ta có thể tìm ra 2 nút trong trang đăng nhập là nút ĐĂNG NHẬP và nút ĐẶT LẠI. Đặc điểm. cả 2 đều có chữ “btn”. Đây là nút viết tắt tên biến. Bạn có thể hiểu đây là quy tắc chung khi viết mã, lập trình viên đa số đều thực hiện thế này với các nút chức năng dạng nút

Sử dụng toán tử trong XPath

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

  • HOẶC. sử dụng 2 điều kiện, nếu 1 trong 2 đúng sẽ là đúng. XPath sẽ liệt kê các phần tử trả lời ứng dụng ít nhất 1 điều kiện lọc
  • VÀ. sử 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ẽ được tính là sai và bỏ qua phần tử

Use text() in XPath

Nếu bạn muốn tìm một phần tử và đoán phần tử được đặt tên là gì, bạn có thể sử dụng hàm XPath Text(). Trong Selenium webdriver, bạn có thể sử dụng hàm này để tìm kiếm các phần tử dựa trên văn bản (chuỗi nội dung có thể là tên, giá trị hoặc ID của phần tử). Điều kiện là các phần tử này sẽ cần phải ở dạng chuỗi

Ví dụ, bạn đang tìm kiếm bằng cách. XPath=//td[text()=’UserID’], sẽ có một phần tử duy nhất trên trang đăng nhập có văn bản là UserID

Hướng dẫn xpath html

Đến đây, chúng ta đã cùng nhau tìm hiểu về rất nhiều thông tin về XPath là gì. Tino Group chúc bạn sẽ có thể trở thành một tester web app chuyên nghiệp hoặc bạn sẽ có thể kiểm tra trang web của bạn một cách 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 cụ hỗ trợ lấy XPath nào miễn phí và mạnh mẽ?

Nếu bạn đang sử dụng trình duyệt Chrome hoặc trình duyệt có nhân Chrome và đang sử dụng các tiện ích mở rộng, bạn nên sử dụng

  • ChroPath với hơn 200k lượt tải xuống và lượng đánh giá lên đến 4. 5 sao trên cửa hàng Chrome
  • SelectorsHub với hơn 50 nghìn lượt tải xuống

Cả 2 tiện ích mở rộng này đều rất tốt để sử dụng và hoàn toàn miễn phí đấy

Làm sao để tìm hiểu thêm về XPath?

Nếu bạn vẫn muốn tìm hiểu thêm về XPath, sẽ có rất nhiều nguồn tài liệu để bạn tham khảo đấy

XPath trên Wikipedia sẽ cung cấp những thông tin cơ bản nhất và lịch sử phát triển giúp bạn

XPath trên Nhà phát triển Mozilla có những thông tin khá cô đọng bằng tiếng Anh nhưng cần phải có kiến ​​thức chuyên ngành để hiểu được tài liệu của họ

Nếu bạn chỉ muốn xem mã, trang DevHints viết rất đầy đủ và chi tiết về XPath đấy

XPath has bao nhiêu chức năng?

Tính đến thời điểm hiện tại, XPath đã được bổ sung tới 200 chức năng với rất nhiều hàm cho chuỗi giá trị, số, boolean, ngày giờ,…

XPath chỉ có thể sử dụng trong web đúng không?

Không. Ngày nay, bạn có thể sử dụng các biểu thức của XPath không chỉ trong HTML, CSS, JavaScript, XML mà còn cả rất nhiều ngôn ngữ khác như. Java, Python, C/C++, PHP và rất nhiều ngôn ngữ khác nữa