Bảng cheat Selenium XPath PDF

Dữ liệu là tài sản mới cho bất kỳ trường hợp sử dụng kinh doanh nào để rút ra thông tin chuyên sâu. Tương tự, Kiểm thử tự động hóa là tiêu chuẩn mới mà các công ty công nghệ đặt ra để kiểm thử các sản phẩm phần mềm của họ

XPath đóng một vai trò quan trọng trong bất kỳ mục đích sử dụng nào ở trên, trong việc thu thập dữ liệu từ nhiều trang web hoặc thử nghiệm sản phẩm và chức năng. XPath cho phép những người thử nghiệm như chúng tôi điều hướng xung quanh các bộ định vị khác nhau của trang web với sự trợ giúp của nhiều thuộc tính như ID, Tên thẻ, Chỉ mục nhóm và Vị ngữ

Bài đăng trên blog này hướng dẫn bạn qua các ví dụ khác nhau về bộ định vị XPath và định nghĩa của chúng

Chúng tôi đã chỉ ra cách triển khai Java của bộ định vị XPath trong bảng gian lận của chúng tôi dành cho bộ định vị Selenium. Hãy bắt đầu với bảng cheat XPath toàn diện này, nó sẽ khá hữu ích khi thực hiện kiểm tra tự động hoặc thu thập dữ liệu thông qua Selenium

XPath là gì?

XPath là đường dẫn của các phần tử trên cây HTML. XPath cho phép chúng tôi sử dụng các bộ chọn khác nhau trên trang HTML

Chúng tôi đại diện cho trang web hiện tại trong XPath bằng cách sử dụng (. ) và (/) để biểu thị các phần tử con để điều hướng qua các phần tử khác nhau trong tài liệu HTML và XML

Cú pháp XPath

Vì chúng ta đã thảo luận về XPath, hãy kiểm tra xem chúng ta có thể tạo XPath như thế nào. Ví dụ bên dưới hiển thị cú pháp XPath với một và nhiều thuộc tính

Cú pháp XPath cho một thuộc tính

//tag[@AttributeName = ‘Attribute Value’]

Cú pháp XPath cho nhiều thuộc tính

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
//tag[@AttributeName1=’Attribute Value’ or @AttributeName2=’AttributeValue2’]

Các loại XPath khác nhau trong Selenium

XPath cho phép chúng tôi điều hướng qua trang web theo hai loại khác nhau

  1. XPath tuyệt đối
  2. XPath tương đối

XPath tuyệt đối

Bộ định vị này sử dụng toàn bộ biểu thức từ thẻ cha và bắt đầu bằng một thẻ duy nhất đại diện cho các phần tử con

Bảng cheat Selenium XPath PDF
XPath tuyệt đối

Dưới đây đính kèm là một ví dụ nữa về việc sử dụng bộ chọn có nhiều vạch chia. Trong những trường hợp như vậy, chúng ta có thể sử dụng chỉ mục trong đường dẫn. Chúng tôi xác định chỉ mục mảng bên trong khung theo vị trí nút

Thí dụ

Bảng cheat Selenium XPath PDF
XPath tuyệt đối

XPath tương đối

XPath tương đối có thể bắt đầu từ bất kỳ đâu từ cấu trúc HTML. Chúng tôi sử dụng XPath tương đối khi chúng tôi không muốn viết biểu thức XPath hoàn chỉnh từ nút gốc

XPath tương đối bắt đầu từ một dấu gạch chéo kép, trong khi XPath tuyệt đối bắt đầu từ một dấu gạch chéo đơn

Thí dụ

Trong ví dụ dưới đây, chúng tôi đang chọn bộ chọn hình ảnh. Không giống như Absolute XPath, chúng ta không cần phải bắt đầu từ HTML

Bảng cheat Selenium XPath PDF
XPath tương đối

Biểu thức XPath trong Selenium

Biểu thức XPath điều hướng và chọn các phần tử thích hợp trong tài liệu HTML và XML

SymbolDefinition/Dấu gạch chéo đơn được sử dụng để chọn phần tử con, để tạo XPath tuyệt đối, để chọn các phần tử từ nút gốc và duyệt qua các phần tử con từ nút cha. // Biểu tượng dấu gạch chéo kép được sử dụng cho con cháu (con, cháu, v.v. ) trong các đường dẫn tương đối để chọn bất kỳ thành phần nào có trong tài liệu. Dấu chấm đơn chọn nút hiện tại. @Chọn thuộc tính //a/. Di chuyển ngược là nơi chúng tôi sử dụng (. ) ký hiệu dấu chấm để đi lên cây hoặc đến nút cha. Biểu thức đính kèm sẽ lấy phần tử cha của thẻ neo

Bộ chọn XPath trong Selenium

Bộ chọn XPath cho phép chúng tôi chọn một phần cụ thể của tài liệu HTML

Bộ chọn hậu duệ

Để chọn các phần tử con của nút cha hiện tại, bộ chọn Hậu duệ được sử dụng. Chúng tôi sử dụng dấu gạch chéo kép hoặc dấu gạch chéo đơn để chọn phần tử con hoặc cháu trong HTML

Cú pháp cho bộ chọn Descendant

/tag or //tag

bộ chọn thuộc tính

Bộ chọn thuộc tính được sử dụng cho các phần tử dựa trên thuộc tính có trong một nút HTML

Cú pháp cho bộ chọn thuộc tính

//tag[@AttibuteName= ‘Attribute Value”]

XPath theo chỉ mục nhóm

XPath by Group Index được sử dụng để so khớp một phần tử. Chúng tôi viết chỉ mục bên trong dấu ngoặc và các phần tử bên ngoài phần tử khối

Nó thực thi XPath bên trong dấu ngoặc và lưu trữ các phần tử phù hợp trong mảng XPath. Sau đó, nó sẽ xác định các phần tử dựa trên chỉ số từ các phần tử được đề cập bên ngoài dấu ngoặc

Thí dụ. Nếu chúng tôi tuân theo XPath theo chỉ mục Nhóm, chúng tôi có thể nhận được một kết quả duy nhất cho Lựa chọn của mình

Bảng cheat Selenium XPath PDF

Các trục trong XPath

Các trục biểu thị mối quan hệ giữa phần tử hiện tại và phần tử tương đối của nó. Nó có thể là bất cứ thứ gì, chẳng hạn như con hoặc anh chị em, nút cha, v.v.

Bảng cheat Selenium XPath PDF
Các trục trong XPath

Các hàm trong XPath

Một tập hợp các thao tác có thể được sử dụng để tạo Hàm trong XPath. Nó có thể là thêm hai HTML hoặc nhận số lượng hình ảnh có trong một trang web

Chức năng nút

XPath có một số chức năng nút như tên(), văn bản(), vị trí(), cuối cùng(), nhận xét() và tên(). Chức năng này cung cấp tên của nút HTML

Xpath=//[starts-with(name(), ‘h’)]

chữ()

Chức năng này được sử dụng để xác định vị trí các phần tử HTML dựa trên văn bản của phần tử web

Xpath=//td[text()='login']

nhận xét()

Hàm này chọn các phần tử có nhận xét

/span/comment()

Cuối cùng()

Hàm này chọn phần tử cuối cùng trong Nút hiện tại

________số 8_______

Chức vụ()

Hàm này cung cấp vị trí của phần tử

Ex: (//a)[position() ≤= n]

Toán tử trong XPath

Chúng ta có thể sử dụng các toán tử kết hợp với XPath để kiểm tra các điều kiện nhất định và xác minh các yêu cầu. Nó hoạt động giống như điều kiện if-else. Các vị từ XPath được đặt trong dấu ngoặc vuông sau khi các phần tử cha được kiểm tra. Với XML được đính kèm bên dưới, chúng tôi đã cung cấp các ví dụ khác nhau cho toán tử

  • Lớn hơn(>)
  • Ít hơn (<)
  • Toán tử HOẶC ( OR )
  • Toán tử AND ( AND )
  • Không bằng (. = )
  • Bằng ( = )
//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
0

Nhỏ hơn toán tử ( < )

Chúng ta có thể sử dụng toán tử này với XPath để kiểm tra xem kết quả có nhỏ hơn số không

Thí dụ

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
1

Kết quả. Trong biểu thức này, tất cả các điện thoại được liệt kê với một năm Nhỏ hơn 2019

Lớn hơn toán tử ( > )

Chúng ta có thể sử dụng toán tử này với XPath để kiểm tra xem kết quả có lớn hơn một số không

Thí dụ

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
2

Kết quả. Trong biểu thức này, tất cả các điện thoại được liệt kê với một năm lớn hơn 2019

Bằng với toán tử ( = )

Chúng ta có thể sử dụng toán tử này để so sánh hoặc kiểm tra xem giá trị có bằng giá trị mong đợi hay không

Thí dụ

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
3

Kết quả. Trong biểu thức này, tất cả các cửa hàng có tên ABC được liệt kê. Như vậy, kết quả sẽ là một chiếc iPhone

Không bằng toán tử (. = )

Chúng ta có thể sử dụng toán tử này để kiểm tra xem toán tử có bằng giá trị dự kiến ​​không

Thí dụ

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
4

Kết quả. Trong này, chúng tôi sẽ có tất cả các cửa hàng không có tên ABC. Kết quả sẽ là Samsung

Toán tử AND ( và )

Chúng tôi sử dụng toán tử này trong trường hợp chúng tôi muốn cả hai điều kiện đều đúng

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
5

Toán tử OR ( hoặc )

Chúng tôi sử dụng toán tử này trong trường hợp chúng tôi muốn bất kỳ một trong các điều kiện là đúng

//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
6
//tag[@AttributeName1=’Attribute Value’ and @AttributeName2=’AttributeValue2’]
7

Chúng tôi có thể kiểm tra XPath của mình trong trình duyệt trước khi kiểm tra theo chương trình. Với sự trợ giúp của các công cụ sửa lỗi như bảng điều khiển, chúng tôi có thể kiểm tra XPath của mình trong bảng điều khiển

Chúng tôi có thể viết XPath của mình hoặc với sự trợ giúp của trình kiểm tra, chúng tôi có thể lấy XPath của bất kỳ thành phần nào trên trang web

Để xác thực XPath theo chương trình, hãy làm theo các bước sau

  1. Truy cập bất kỳ trang web nào (ví dụ: Testsigma) và nhấn F12 trên bàn phím
  2. Nhấp vào bảng điều khiển như trong hình bên dưới
  3. $x(“//img[@class=’img-responsive’]/@src”)
  4. Nhập XPath ở trên, chúng ta có thể chọn thành phần logo Testsigma ở góc trên cùng bên trái như trong hình bên dưới
Bảng cheat Selenium XPath PDF

Xác thực XPath với sự trợ giúp của trình kiểm tra XPath

  1. Truy cập bất kỳ trang web nào và nhấn F12 trên bàn phím
  2. Nhấp vào Phần tử và nhấp chuột phải vào phần tử bạn chọn
  3. Di con trỏ qua Copy và chọn Copy full XPath

Sau khi hoàn tất, chúng ta có thể đặt XPath đã sao chép bên trong $x(`place your XPath Copy from elements`) và kiểm tra kết quả của bạn

kết thúc

XPath được sử dụng để chọn hoặc tìm các thành phần trên trang web. Chúng ta cũng có thể sử dụng XPath kết hợp với các ngôn ngữ lập trình khác

XPath cho phép chúng tôi điều hướng qua trang web theo hai loại khác nhau

  1. XPath tuyệt đối
  2. XPath tương đối

XPath tương đối đáng tin cậy và hiệu quả hơn trong khi thử nghiệm hoặc loại bỏ một trang web. Vì nó hỗ trợ các hoạt động động, chúng tôi có thể tiếp tục trích xuất dữ liệu hoặc tự động hóa các tác vụ bằng cùng một mã, ngay cả khi trang web được cập nhật

Các câu hỏi thường gặp

Cách dễ nhất để tìm XPath là gì?

Cách dễ nhất để tìm XPath là sử dụng các công cụ dành cho nhà phát triển trình duyệt. Thực hiện theo các bước dưới đây để tạo XPath nhanh chóng

  1. Nhấp chuột phải vào yếu tố bạn chọn và chọn kiểm tra;
  2. Sao chép XPath bằng cách nhấp chuột phải vào phần tử HTML
  3. Kiểm tra XPath đã sao chép để tìm phần tử tương tự trong Chrome

XPath nào nhanh hơn trong Selenium?

XPath tương đối nhanh hơn trong Selenium so với XPath tuyệt đối. XPath tuyệt đối chậm vì nó bắt đầu từ nút gốc. XPath tương đối nhanh hơn và được ưa thích nhất vì nó bắt đầu từ giữa cấu trúc HTML

XPath nào là tốt nhất?

XPath tương đối là tốt nhất trong các tình huống chính vì yêu cầu bảo trì mã tối thiểu nếu có bất kỳ cập nhật nào trên trang web

Cách dễ nhất để tìm XPath là gì?

Để tìm XPath của một phần tử, hãy sử dụng Công cụ dành cho nhà phát triển tích hợp của Chrome. .
Nhấp chuột phải vào phần tử web trong Chrome và chọn Kiểm tra
Nó sẽ khởi chạy công cụ Nhà phát triển với mã HTML của Phần tử được tô sáng
Sao chép Xpath bằng cách nhấp chuột phải vào HTML được đánh dấu
Sử dụng Xpath đã sao chép để định vị Phần tử này trong Chrome sau

Làm cách nào để sử dụng XPath trong Selenium?

Chuyển đến tab Tên và nhấp chuột phải >> Kiểm tra. Khi kiểm tra phần tử web, nó sẽ hiển thị thẻ đầu vào và các thuộc tính như lớp và id. Sử dụng id và các thuộc tính này để xây dựng XPath, do đó, sẽ định vị trường tên

Làm cách nào để viết XPath cho các mục trong danh sách?

Cú pháp cho XPath .
//. Chọn nút hiện tại
tên thẻ. Tên thẻ của nút cụ thể
@. Chọn thuộc tính
Thuộc tính. Thuộc tính tên của nút
Giá trị. Giá trị của thuộc tính

Làm cách nào tôi có thể viết XPath của riêng mình?

Cách tạo XPath tùy chỉnh với Văn bản, Nhãn, Lớp, v.v. .
Trên thuộc tính giữ chỗ, bạn có 3 nút. Cái bên phải, sẽ mở công cụ "Bộ định vị phần tử" với giá trị XPath của phần tử dựa trên trình giữ chỗ
Trong cửa sổ bật lên "Bộ định vị phần tử", chúng ta có thể thấy giá trị XPath đã tạo mà chúng ta nhận được. .
Đó là nó