Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Trong tự động hóa Selenium, nếu các phần tử không được tìm thấy bởi các trình định vị chung như ID, lớp, tên, v.v. thì XPath được sử dụng để tìm một phần tử trên trang web.

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về biểu thức XPath và XPath khác nhau để tìm các phần tử phức tạp hoặc động, có các thuộc tính thay đổi động trên làm mới hoặc bất kỳ hoạt động nào.

Trong hướng dẫn XPath này, bạn sẽ học-

  • XPath là gì?
  • Các loại X-Path
  • Xpath tuyệt đối
  • Xpath tương đối
  • Xpath cơ bản
  • Contains()
  • Sử dụng hoặc & và
  • Bắt đầu với chức năng
  • Text()
  • Phương pháp trục XPath
  • Tiếp theo
  • Tổ tiên
  • Đứa trẻ
  • Trước đó
  • Following-sibling
  • Cha mẹ
  • Bản thân
  • Hậu duệ

Xpath trong selen là gì?

XPath trong selenium là một đường dẫn XML được sử dụng để điều hướng thông qua cấu trúc HTML của trang. Đó là một cú pháp hoặc ngôn ngữ để tìm bất kỳ phần tử nào trên trang web bằng cách sử dụng biểu thức đường dẫn XML. XPath có thể được sử dụng cho cả hai tài liệu HTML và XML để tìm vị trí của bất kỳ phần tử nào trên trang web bằng cấu trúc HTML DOM. is an XML path used for navigation through the HTML structure of the page. It is a syntax or language for finding any element on a web page using XML path expression. XPath can be used for both HTML and XML documents to find the location of any element on a webpage using HTML DOM structure.

Định dạng cơ bản của XPath trong Selenium được giải thích dưới đây với ảnh chụp màn hình.

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Định dạng cơ bản của XPath

Cú pháp cho XPath Selenium:

XPath chứa đường dẫn của phần tử nằm ở trang web. Cú pháp XPath tiêu chuẩn để tạo XPath là.

Xpath=//tagname[@attribute='value']
  • //: Chọn nút hiện tại. Select current node.
  • TagName: TagName của nút cụ thể.Tagname of the particular node.
  • @: Chọn Thuộc tính. Select attribute.
  • Thuộc tính: Tên thuộc tính của nút. Attribute name of the node.
  • Giá trị: Giá trị của thuộc tính. Value of the attribute.

Để tìm phần tử trên các trang web một cách chính xác, có nhiều loại định vị khác nhau:

Người định vị XPathTìm các yếu tố khác nhau trên trang web
TÔI Để tìm phần tử bằng ID của phần tử
Tên lớp Để tìm phần tử theo tên lớp của phần tử
Tên Để tìm phần tử theo tên của phần tử
văn bản liên kết Để tìm phần tử theo văn bản của liên kết
XPath Xpath cần thiết để tìm phần tử động và đi qua giữa các yếu tố khác nhau của trang web
Đường dẫn CSS Đường dẫn CSS cũng định vị các yếu tố không có tên, lớp hoặc ID.

Các loại X-Path

Có hai loại XPath:

1) Xpath tuyệt đối

2) Xpath tương đối

Xpath tuyệt đối:

Đó là cách trực tiếp để tìm phần tử, nhưng nhược điểm của XPath tuyệt đối là nếu có bất kỳ thay đổi nào được thực hiện trong đường dẫn của phần tử thì XPath sẽ không thành công.

Đặc điểm chính của XPath là nó bắt đầu bằng dấu gạch chéo chuyển tiếp đơn (/), có nghĩa là bạn có thể chọn phần tử từ nút gốc.

Dưới đây là ví dụ về biểu thức XPath tuyệt đối của phần tử được hiển thị trong màn hình bên dưới.

Lưu ý: Bạn có thể thực hành bài tập XPath sau đây trên

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
7 này

Bấm vào đây nếu video không thể truy cập được

Xpath tuyệt đối:

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Xpath tuyệt đối

Đó là cách trực tiếp để tìm phần tử, nhưng nhược điểm của XPath tuyệt đối là nếu có bất kỳ thay đổi nào được thực hiện trong đường dẫn của phần tử thì XPath sẽ không thành công.

Đặc điểm chính của XPath là nó bắt đầu bằng dấu gạch chéo chuyển tiếp đơn (/), có nghĩa là bạn có thể chọn phần tử từ nút gốc. starts from the middle of HTML DOM structure. It starts with double forward slash (//). It can search elements anywhere on the webpage, means no need to write a long xpath and you can start from the middle of HTML DOM structure. Relative Xpath is always preferred as it is not a complete path from the root element.

Dưới đây là ví dụ về biểu thức XPath tuyệt đối của phần tử được hiển thị trong màn hình bên dưới.

Bấm vào đây nếu video không thể truy cập được

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Xpath tương đối

Xpath cơ bản

Sử dụng hoặc & và

Bắt đầu với chức năng

Phương pháp trục XPath

Tiếp theo

Tổ tiênID , Name, Classname, etc. from the XML document as illustrated below.

Xpath=//input[@name='uid']

Đứa trẻ

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Xpath cơ bản

Sử dụng hoặc & và

Xpath=//input[@type='text']				
Xpath=	//label[@id='message23']
Xpath=	//input[@value='RESET']
Xpath=//*[@class='barone']
Xpath=//a[@href='http://demo.guru99.com/']
Xpath= //img[@src='//guru99.com/images/home/java.png']

Bắt đầu với chức năng

Phương pháp trục XPath

Tiếp theo

Tổ tiên

Đứa trẻ

Xpath=//*[contains(@type,'sub')]

Trước đó

Xpath=//*[contains(@name,'btn')]

Trong biểu thức trên, chúng tôi đã lấy tên ‘tên làm thuộc tính và‘ BTN, làm giá trị một phần như trong ảnh chụp màn hình dưới đây. Điều này sẽ tìm thấy 2 yếu tố (đăng nhập & đặt lại) khi thuộc tính ‘tên của họ bắt đầu bằng‘ BTN.

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Tương tự, trong biểu thức dưới đây, chúng tôi đã lấy ‘ID, làm thuộc tính và‘ tin nhắn là một giá trị một phần. Điều này sẽ tìm thấy 2 phần tử (‘id-id không được trống và không được trống mật khẩu) vì thuộc tính ID ID của nó bắt đầu với‘ tin nhắn.

Xpath=//*[contains(@id,'message')]

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Trong biểu thức dưới đây, chúng tôi đã lấy văn bản trên mạng của liên kết như một thuộc tính và ‘ở đây là một giá trị một phần như trong ảnh chụp màn hình dưới đây. Điều này sẽ tìm thấy liên kết (‘ở đây) vì nó hiển thị văn bản‘ ở đây.

Xpath=//*[contains(text(),'here')]
Xpath=//*[contains(@href,'guru99.com')]

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

3) Sử dụng OR & và:

Trong hoặc biểu hiện, hai điều kiện được sử dụng, cho dù điều kiện thứ 1 hay điều kiện thứ 2 nên đúng. Nó cũng được áp dụng nếu bất kỳ một điều kiện là đúng hoặc có thể cả hai. Có nghĩa là bất kỳ một điều kiện nào cũng phải đúng để tìm phần tử.

Trong biểu thức XPath dưới đây, nó xác định các yếu tố có điều kiện đơn hoặc cả hai điều kiện là đúng.

Xpath=//*[@type='submit' or @name='btnReset']

Làm nổi bật cả hai phần tử như phần tử đăng nhập của người dùng có thuộc tính ‘loại và thiết lập lại phần tử có thuộc tính‘ Tên.

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Trong và biểu hiện, hai điều kiện được sử dụng, cả hai điều kiện nên đúng để tìm phần tử. Nó không tìm thấy phần tử nếu có một điều kiện là sai.

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
0

Trong biểu thức bên dưới, làm nổi bật phần tử ’đăng nhập vì nó có cả thuộc tính‘ loại và ‘tên.

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

4) Xpath bắt đầu-với

XPath Starts-with () là một hàm được sử dụng để tìm phần tử web có giá trị thuộc tính được thay đổi khi làm mới hoặc bởi các hoạt động động khác trên trang web. Trong phương thức này, văn bản bắt đầu của thuộc tính được khớp để tìm phần tử có giá trị thuộc tính thay đổi động. Bạn cũng có thể tìm thấy các phần tử có giá trị thuộc tính là tĩnh (không thay đổi). is a function used for finding the web element whose attribute value gets changed on refresh or by other dynamic operations on the webpage. In this method, the starting text of the attribute is matched to find the element whose attribute value changes dynamically. You can also find elements whose attribute value is static (not changes).

Ví dụ:: Giả sử ID của các thay đổi phần tử cụ thể giống như:

Id = "tin nhắn12 ″

Id = ”message345 ″

Id = ”message8769 ″

Và như vậy .. nhưng văn bản ban đầu là giống nhau. Trong trường hợp này, chúng tôi sử dụng biểu thức bắt đầu với.

Trong biểu thức dưới đây, có hai phần tử có ID bắt đầu thông báo trực tuyến (tức là, id id-id không được trống & mật khẩu không được trống). Trong ví dụ dưới đây, XPath tìm thấy những yếu tố đó có id id bắt đầu với ‘tin nhắn.

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
1

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

5) chức năng văn bản xpath ()

Hàm Xpath Text () là một hàm tích hợp của selenium webdriver được sử dụng để định vị các phần tử dựa trên văn bản của một phần tử web. Nó giúp tìm các phần tử văn bản chính xác và nó định vị các phần tử trong tập hợp các nút văn bản. Các yếu tố được đặt phải ở dạng chuỗi.XPath text() function is a built-in function of selenium webdriver which is used to locate elements based on text of a web element. It helps to find the exact text elements and it locates the elements within the set of text nodes. The elements to be located should be in string form.

Trong biểu thức này, với chức năng văn bản, chúng tôi tìm thấy phần tử có khớp văn bản chính xác như được hiển thị bên dưới. Trong trường hợp của chúng tôi, chúng tôi tìm thấy phần tử với văn bản user userid.

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
2

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

6) Phương pháp trục XPath:

Các phương pháp trục XPath này được sử dụng để tìm các phần tử phức tạp hoặc động. Dưới đây chúng tôi sẽ thấy một số phương pháp này.

Để minh họa phương thức Xpath Axes này, chúng tôi sẽ sử dụng trang web Demo ngân hàng Gur99.

A) Sau:

Chọn tất cả các phần tử trong tài liệu của nút hiện tại () [hộp đầu vào userID là nút hiện tại] như trong màn hình bên dưới.

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
3

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Có 3 nút đầu vào của người Viking phù hợp với việc sử dụng các nút ADTALS, Mật khẩu, đăng nhập và đặt lại của After After After. Nếu bạn muốn tập trung vào bất kỳ phần tử cụ thể nào thì bạn có thể sử dụng phương pháp XPath dưới đây:

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
4

Bạn có thể thay đổi XPath theo yêu cầu bằng cách đặt [1], [2], v.v.

Với đầu vào là ‘1, cảnh quay dưới đây tìm thấy nút cụ thể là phần tử hộp đầu vào mật khẩu.

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

b) Tổ tiên:

Trục tổ tiên chọn tất cả các yếu tố của tổ tiên (ông bà, cha mẹ, v.v.) của nút hiện tại như trong màn hình bên dưới.

Trong biểu thức dưới đây, chúng tôi đang tìm thấy yếu tố tổ tiên của nút hiện tại (nút thử nghiệm doanh nghiệp của Cameron).

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
5

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Có 13 nút div Div phù hợp với trục của tổ tiên. Nếu bạn muốn tập trung vào bất kỳ yếu tố cụ thể nào thì bạn có thể sử dụng XPath dưới đây, trong đó bạn thay đổi số 1, 2 theo yêu cầu của bạn:

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
6

Bạn có thể thay đổi XPath theo yêu cầu bằng cách đặt [1], [2], v.v.

c) con:

Chọn tất cả các yếu tố trẻ em của nút hiện tại (Java) như trong màn hình bên dưới.

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
7

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Có 71 nút LI LI phù hợp với trục của trẻ con. Nếu bạn muốn tập trung vào bất kỳ phần tử cụ thể nào thì bạn có thể sử dụng XPath dưới đây:

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
8

Bạn có thể thay đổi XPath theo yêu cầu bằng cách đặt [1], [2], v.v.

d) trước đó:

Chọn tất cả các nút đến trước nút hiện tại như trong màn hình bên dưới.

Trong biểu thức bên dưới, nó xác định tất cả các phần tử đầu vào trước khi đăng nhập vào nút của người dùng và phần tử nhập mật khẩu.Userid and password input element.

/html/body/div[2]/div[1]/div/h4[1]/b/html[1]/body[1]/div[2]/div[1]/div[1]/h4[1]/b[1]
9

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Có 2 nút đầu vào của người Viking phù hợp với trục của trục trước. Nếu bạn muốn tập trung vào bất kỳ phần tử cụ thể nào thì bạn có thể sử dụng XPath dưới đây:

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
0

Bạn có thể thay đổi XPath theo yêu cầu bằng cách đặt [1], [2], v.v.

e) sau khi anh chị em:

Chọn các anh chị sau của nút bối cảnh. Anh chị em ở cùng cấp độ của nút hiện tại như trong màn hình bên dưới. Nó sẽ tìm thấy phần tử sau nút hiện tại.

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
1

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Một nút đầu vào khớp với trục của người anh em sau đây.

f) cha mẹ:

Chọn cha mẹ của nút hiện tại như được hiển thị trong màn hình bên dưới.

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
2

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Có 65 nút div Div phù hợp với trục của cha mẹ. Nếu bạn muốn tập trung vào bất kỳ phần tử cụ thể nào thì bạn có thể sử dụng XPath dưới đây:

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
3

Bạn có thể thay đổi XPath theo yêu cầu bằng cách đặt [1], [2], v.v.

g) tự:

Chọn nút hiện tại hoặc ‘self, có nghĩa là nó biểu thị chính nút như được hiển thị trong màn hình bên dưới.

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Một nút khớp bằng cách sử dụng trục tự sướng. Nó luôn luôn tìm thấy một nút vì nó đại diện cho bản thân.

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
4

h) Hậu duệ:

Chọn hậu duệ của nút hiện tại như trong màn hình bên dưới.

Trong biểu thức dưới đây, nó xác định tất cả các phần tử hậu duệ thành phần tử hiện tại (phần tử khung bao quanh cơ thể chính) có nghĩa là xuống dưới nút (nút con, nút cháu, v.v.).

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
5

Hướng dẫn how python xpath works in selenium? - cách python xpath hoạt động trong selen?

Có 12 nút liên kết trực tuyến phù hợp với việc sử dụng trục của Hậu duệ. Nếu bạn muốn tập trung vào bất kỳ phần tử cụ thể nào thì bạn có thể sử dụng XPath dưới đây:

Relative XPath: //div[@class='featured-box cloumnsize1']//h4[1]//b[1]
6

Bạn có thể thay đổi XPath theo yêu cầu bằng cách đặt [1], [2], v.v.

Summary:

g) tự:

  • Chọn nút hiện tại hoặc ‘self, có nghĩa là nó biểu thị chính nút như được hiển thị trong màn hình bên dưới.
    • Một nút khớp bằng cách sử dụng trục tự sướng. Nó luôn luôn tìm thấy một nút vì nó đại diện cho bản thân.
    • h) Hậu duệ:
  • Chọn hậu duệ của nút hiện tại như trong màn hình bên dưới.
  • Trong biểu thức dưới đây, nó xác định tất cả các phần tử hậu duệ thành phần tử hiện tại (phần tử khung bao quanh cơ thể chính) có nghĩa là xuống dưới nút (nút con, nút cháu, v.v.).

Có 12 nút liên kết trực tuyến phù hợp với việc sử dụng trục của Hậu duệ. Nếu bạn muốn tập trung vào bất kỳ phần tử cụ thể nào thì bạn có thể sử dụng XPath dưới đây:Selenium Tutorial for Beginners: Learn WebDriver in 7 Days

Làm thế nào sử dụng Xpath Python selenium?

Làm thế nào để tìm các yếu tố của XPath trong selen: ví dụ..
Chuyển đến tab Tên đầu tiê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, lần lượt, sẽ định vị trường tên đầu tiên ..

Xpath hoạt động như thế nào?

XPath sử dụng các biểu thức đường dẫn để chọn các nút hoặc bộ nút trong tài liệu XML. Các biểu thức đường dẫn này trông rất giống các biểu thức bạn thấy khi bạn làm việc với hệ thống tệp máy tính truyền thống. Chúng được XSLT sử dụng để thực hiện các phép biến đổi hoặc bằng XPulum cho mục đích giải quyết.uses path expressions to select nodes or node-sets in an XML document. These path expressions look very much like the expressions you see when you work with a traditional computer file system. They are used by XSLT to perform transformations or by XPointer for addressing purposes.

Xpath hoạt động như thế nào trong selen?

XPath trong selenium là một kỹ thuật cho phép bạn điều hướng cấu trúc của HTML của trang web.Sử dụng XPath trong selen giúp tìm các yếu tố không được tìm thấy bởi các trình định vị như ID, lớp hoặc tên.XPath là một cú pháp để tìm các phần tử trên các trang web và XPath trong selenium có thể được sử dụng trên cả hai tài liệu HTML và XML.a technique that allows you to navigate the structure of a webpage's HTML. Using XPath in Selenium helps find elements that are not found by locators such as ID, class, or name. XPath is a syntax for finding elements on web pages, and XPath in Selenium can be used on both HTML and XML documents.

XPath là gì và làm thế nào nó có thể được sử dụng để định vị các yếu tố?

XPath trong selenium là một đường dẫn XML được sử dụng để điều hướng thông qua cấu trúc HTML của trang.Đó là một cú pháp hoặc ngôn ngữ để tìm bất kỳ phần tử nào trên trang web bằng cách sử dụng biểu thức đường dẫn XML.XPath có thể được sử dụng cho cả hai tài liệu HTML và XML để tìm vị trí của bất kỳ phần tử nào trên trang web bằng cấu trúc HTML DOM.an XML path used for navigation through the HTML structure of the page. It is a syntax or language for finding any element on a web page using XML path expression. XPath can be used for both HTML and XML documents to find the location of any element on a webpage using HTML DOM structure.