Hướng dẫn xpath and css selector syntax - cú pháp xpath và css selector

Bộ chọn được sử dụng để định vị các phần tử trên trang web. Quan sát sử dụng chúng để tìm các mục để nhấp vào, nhập văn bản vào và thực hiện các tương tác khác trong hành động hành trình và kiểm toán. Bộ chọn mặc định là ID của phần tử nhưng các bộ chọn thay thế có thể được sử dụng để tăng khả năng hành trình thành công khi không có ID trên phần tử đích. are used to locate elements on a webpage. ObservePoint uses them to find items to click on, enter text into, and to do other interactions in Journey and audit actions. The default selector is an element's ID but alternate selectors can be used to increase the likelihood of a successful Journey when there is no ID on the target element.

Các loại chọn thay thế

Thuộc tính tên của phần tử HTML có thể được sử dụng làm bộ chọn.

Trình chọn phân loại kiểu xếp tầng [CSS] là một cú pháp được sử dụng trong các định nghĩa kiểu để định vị các mục trên trang web và áp dụng kiểu dáng cho chúng [màu sắc, gia đình phông chữ, định vị, v.v.]. Các bộ chọn này cũng có thể được sử dụng với jQuery để định vị các phần tử HTML. [CSS] selectors is a syntax used in style definitions to locate items on a web page and apply styling to them [color, font family, positioning, etc]. These selectors can also be used with jQuery to locate HTML elements.

Ngôn ngữ đường dẫn XML [XPath] là một cú pháp để định vị các phần tử trong các tài liệu có cấu trúc như tài liệu XML hoặc trang web. XPath xác định một loại phân cấp các yếu tố trong tài liệu. [XPath] is a syntax for locating elements in structured documents such as an XML document or web page. XPath defines a kind of hierarchy of elements in the document.

Bạn không cần biết XPath hoặc CSS [mặc dù có thể hữu ích] để sử dụng chúng trong hành động.

Các bộ chọn được đánh giá theo thứ tự khi hành trình chạy. & NBSP; Nếu ID không giải quyết thành phần tử HTML hợp lệ, hành trình sẽ thử các loại chọn khác theo thứ tự sau khi thất bại:

  1. TÔI
  2. Thuộc tính tên
  3. Bộ chọn CSS
  4. XPath

Lưu ý: & nbsp; chỉ có công cụ Chrome tương thích với các bộ chọn XPath hoặc CSS trong hành động. Nếu bạn muốn sử dụng CSS hoặc XPath, hãy đảm bảo tùy chọn Chrome Engine được chọn trong hành trình hoặc thiết lập kiểm toán.Only the Chrome engine is compatible with XPath or CSS selectors in actions. If you want the CSS or XPath to be used, make sure the Chrome engine option is selected in the Journey or audit setup.

Tìm bộ chọn CSS hoặc XPath

Nếu bạn không biết bộ chọn CSS hoặc XPath cho một phần tử, bạn có thể tìm thấy nó theo cách thủ công từ các công cụ nhà phát triển của trình duyệt. Quy trình chung như sau, mặc dù có thể có sự khác biệt nhỏ từ trình duyệt đến trình duyệt:

  1. Nhấp chuột phải vào một phần tử
  2. Chọn kiểm tra
  3. Xác định vị trí phần tử trong bảng phần tử của các công cụ nhà phát triển
  4. Nhấp chuột phải vào dòng của phần tử
  5. Chọn Sao chép -> Sao chép Selector hoặc Sao chép -> Sao chép XPath
  6. Dán kết quả vào trường ID của một hành động

Nhấp chuột phải vào dòng trong cửa sổ các phần tử để sao chép bộ chọn XPath hoặc CSS. Một số trình duyệt có một tùy chọn để sao chép bộ chọn CSS. Nếu điều đó không có sẵn, hãy sử dụng tùy chọn để sao chép bộ chọn.


Nhấp chuột phải vào một phần tử trên trang web để kiểm tra nó. Điều này mở cửa sổ các phần tử hiển thị tất cả các dòng của Cong Cú pháp

Syntax

Bộ chọn CSS cho thẻ neo của liên kết blog & nbsp; có thể trông như thế này: a[href='/blog'
a[href='/blog'

Xpath với cùng một liên kết blog [ở trên] trên jpstyle.us có thể trông như thế này:

Xác thực bộ chọn CSS làm chức năng đầu vào và nhấp vào các hành trình


Kiểm tra trong trình duyệt

Bạn có thể kiểm tra bộ chọn XPath hoặc CSS của mình trong bảng điều khiển JavaScript của Chrome bằng cách gói nó trong một câu lệnh, như thế này:

XPath: $x[""] $x[""]

CSS: $$[""] $$[""]

Ví dụ: sử dụng phần sau để chọn liên kết blog tại //jpstyle.us. Văn bản màu đỏ là bộ chọn.

XPath: & nbsp; $x['//*[@id="secondary-menu"]/li[1]/a']  $x['//*[@id="secondary-menu"]/li[1]/a']

CSS: $$["a[href='/blog']"] $$["a[href='/blog']"]

Tài nguyên bổ sung

Thông tin chi tiết về các bộ chọn XPaths và CSS nằm ngoài phạm vi của tài liệu này, nhưng có một số trang web trên web dạy về chúng hoặc có tài liệu tham khảo, bao gồm các tài liệu này từ W3Schools.com: Xpath Giới thiệu và tham chiếu Bộ chọn CSS.

Điều này có trả lời câu hỏi của bạn không? Cảm ơn vì sự phản hồi là một vấn đề gửi phản hồi của bạn. Vui lòng thử lại sau. Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Vẫn cần trợ giúp? Liên hệ với chúng tôi liên hệ với chúng tôi

Cập nhật lần cuối vào ngày 28 tháng 9 năm 2022

Trận chiến Xpath vs CSS là một cuộc chiến mà mọi người tiếp cận khác nhau chủ yếu vì sở thích thay vì các ý nghĩa khác nhau của việc sử dụng một trong các tùy chọn. Nếu bạn đã từng phải chọn giữa việc sử dụng các bộ chọn XPath và CSS, rất có thể môi trường bạn đang làm việc có liên quan nhiều đến sự lựa chọn của bạn hơn là sự khác biệt thực tế giữa các tùy chọn. Các trường hợp bạn cân nhắc các tùy chọn bao gồm khi bạn muốn cạo nội dung từ một trang web trực tiếp hoặc bạn đang tiến hành các thử nghiệm tự động ở mặt trước của ứng dụng.

Bài viết này sẽ giải quyết các khác biệt khác nhau giữa XPath và CSS. Trên đường đi, chúng tôi sẽ nói về những gì mỗi tùy chọn mang đến cho bảng. Đến cuối bài viết này, tùy chọn nào bạn nên sử dụng có khả năng trở nên rõ ràng với bạn ngay cả khi bạn không xem xét khả năng tương thích của nó với trường hợp sử dụng của bạn. Bạn cũng sẽ tìm hiểu lý do tại sao cái này hoặc cái kia có thể là một lựa chọn tốt hơn để sử dụng khi kiểm tra các ứng dụng của bạn.

Chu kỳ làm ứng dụng đi một cái gì đó như thế này; Mã, kiểm tra, triển khai, nhận phản hồi, vá lỗi và làm lại từ đầu. Đôi khi có những người khác nhau ở mọi giai đoạn, khiến mọi thứ trở nên phức tạp. Và bỏ qua bất kỳ giai đoạn nào có thể làm cho ứng dụng có khả năng sử dụng. Thử nghiệm cũng quan trọng như mọi giai đoạn khác. Nó ở giai đoạn thử nghiệm mà bạn có thể bắt đầu nhìn vào bộ chọn XPath vs CSS.

Trước khi chúng ta đi sâu hơn vào logic của sự lựa chọn, hãy để xác định mỗi bên và tìm hiểu những ưu và nhược điểm tương ứng của họ.

XPath là gì?

XPath là viết tắt của đường dẫn XML. Nó có một ngôn ngữ truy vấn giúp xác định các yếu tố từ tài liệu XML. Nó sử dụng các biểu thức điều hướng vào một tài liệu XML theo cách có thể được theo dõi từ đầu đến phần tử dự định như hình thành một đường dẫn từ đầu. Chúng tôi sẽ thảo luận về cú pháp ở độ sâu lớn hơn trong thời gian ngắn.

Ưu điểm của việc sử dụng XPath

  • XPath cho phép bạn điều hướng DOM khi tìm kiếm các yếu tố để kiểm tra hoặc cạo.
  • Nó tương thích với các trình duyệt cũ [hoặc tại thời điểm xuất bản, bao gồm các phiên bản cũ hơn của Internet Explorer, mà một số tập đoàn vẫn sử dụng].
  • Tạo trong XPath linh hoạt hơn trong bộ chọn CSS.
  • Khi bạn không biết tên của một yếu tố, bạn có thể sử dụng có chứa để tìm kiếm các trận đấu có thể.contains to search for possible matches.

Cách tạo Xpath

XML PATH Cú pháp sử dụng các luồng sơ đồ cây để xác định vị trí các phần tử trên trang HTML. Hãy xem xét phần tử biểu mẫu trong đánh dấu trang tìm kiếm bên dưới.

Xpath đầy đủ vào nút tìm kiếm bên trong biểu mẫu sẽ trông như thế này:

/html/body/main-view//section/startpage-component//div/main/search-box-component//div/form/div/buttonhtml/body/main-view//section/startpage-component//div/main/search-box-component//div/form/div/button

Như đã thấy trong toàn bộ XPath, tài liệu được chia thành các yếu tố về cơ bản đại diện cho bộ xương của nó. Đi từ trên xuống dưới trong tài liệu kết quả và liệt kê mọi nút, cho đến khi bạn đạt được phần tử mong muốn, là thứ trở thành XPath. Ở đây, một cách ngắn hơn để viết này.

//*[@id="scroll-container"]/main/search-box-component//div/form/div/button

Và ở đây, một bảng toàn diện cho cú pháp của cả bộ chọn XPath và CSS;

Bây giờ, bạn đã có cảm giác về Xpath là gì và những gì nó có thể làm, hãy để Lôi chuyển sang bộ chọn CSS.

Bộ chọn CSS là gì?

Hầu hết các trang HTML đều được tạo kiểu bằng cách sử dụng các lớp bảng kiểu xếp tầng, còn được gọi là CSS. Xác định các yếu tố khác nhau trên một trang dựa trên các kiểu yêu cầu bạn chọn lớp nó rơi vào. Xem xét bộ chọn CSS là một phần của bảng kiểu cho phép bạn chọn loại nội dung để kiểm tra, chỉnh sửa hoặc sao chép. Các bộ chọn CSS xác định các yếu tố khác nhau trong DOM và chúng ảnh hưởng hoặc kết nối với các phần này của giao diện.

Bộ chọn CSS có nhiều loại. Điều này chủ yếu là do không giống như xây dựng cây hoặc bản đồ của tùy chọn XPath, các bộ chọn có tên và danh mục thực tế. Dưới đây là một số loại.

  • Các bộ chọn đơn giản: Những tìm kiếm cho các yếu tố dựa trên lớp hoặc ID của họ. These search for elements based on their class or ID.
  • Bộ chọn thuộc tính: Những phần tử nhận này dựa trên các giá trị được gán cho chúng. Tôi sẽ cung cấp một số ví dụ sau trong bài viết này. These pick up elements based on values assigned to them. I’ll provide some examples later on in this article.
  • Các bộ chọn giả: Trong các tình huống trong đó các trạng thái của các yếu tố được khai báo với CSS, chẳng hạn như các hộp kiểm hoặc các thuộc tính trên hover, chúng được sử dụng. In situations where the states of elements are declared with CSS, such as check boxes or on-hover attributes, these come into use.

Ưu điểm của việc sử dụng bộ chọn CSS

  • Nó nhanh hơn Xpath.
  • Nó dễ dàng hơn nhiều để học và thực hiện.
  • Bạn có cơ hội tìm thấy các yếu tố của bạn cao.
  • Nó tương thích với hầu hết các trình duyệt cho đến nay.

Mở rộng phạm vi kiểm tra của bạn

Tác giả nhanh chóng và linh hoạt của các bài kiểm tra đầu cuối do AI cung cấp-được xây dựng cho quy mô.

Bắt đầu thử nghiệm miễn phí

Cách tạo bộ chọn CSS

Hãy để sử dụng cùng một hình ảnh mà chúng tôi đã làm trước đó, với một trang tìm kiếm được hiển thị. Bạn có thể làm điều này trên bất kỳ trang web nào bằng cách nhấp chuột phải và chọn phần tử kiểm tra. Bạn sẽ có thể tạo bộ chọn CSS giống như chúng tôi đã làm với XPath.Inspect Element. You should be able to create the CSS selector just as we did with the XPath.

Trong trường hợp này, bộ chọn CSS sẽ trông như thế này.

div>form>div>button>form>div>button

Lưu ý mức độ dễ dàng hơn khi đọc bộ chọn CSS so với XPath. Bạn có thể đọc điều này là, nút Nút là một yếu tố con của div bên trong một biểu mẫu, chính nó nằm trong bộ chọn loại div.

Để bao gồm đầy đủ những gì có thể có với bộ chọn thuộc tính CSS, hãy để xem xét một ví dụ đánh dấu cụ thể hơn.

& nbsp; & nbsp; & nbsp; & nbsp;Google Maps Sub-domain

& nbsp; & nbsp; & nbsp; & nbsp; liên kết dịch vụ thưLink toiCloud Mail Services

& nbsp; & nbsp; & nbsp; & nbsp; opera mail Opera Mail

& nbsp; & nbsp; & nbsp; & nbsp; dịch vụ gmailGmail Services

& nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; liên kết dịch vụ thư[href^="some value here"]

& nbsp; & nbsp; & nbsp; & nbsp; opera maila> element that includes “mail” as a value. In that case, you’d use the * sign after the href key. This would give you:

& nbsp; & nbsp; & nbsp; & nbsp; dịch vụ gmailmail as the sub-domain.

Bộ chọn áp dụng để tìm các yếu tố cụ thể trong ví dụ trên sẽ trông như thế này.* with a $. You can filter out entries that start with a certain value by using the ^ sign. There are plenty of such signs depending on the rules you’re using for selection.

Bây giờ bạn đã có một tour du lịch nhỏ của mỗi lựa chọn. Vậy cái nào phù hợp với bạn?

Sử dụng nào: Bộ chọn XPath hoặc CSS?

Khi bạn triển khai phần mềm một sản phẩm cho một nhóm người dùng, thời gian thường là điều cốt yếu. Chỉ riêng tuyên bố này sẽ cho bạn biết tùy chọn nào là tốt hơn cho bạn sử dụng. Nếu người thử nghiệm phần mềm của bạn quyết định tự tạo các tập lệnh tự động hóa thử nghiệm, sử dụng tùy chọn mà họ đã có kinh nghiệm là cách để đi. Bên cạnh đó, sự khác biệt về thời gian thực hiện giữa các bộ chọn XPath và CSS không phải là bạn có thể làm công việc có ý nghĩa trong khi những người khác chờ đợi. Một sự khác biệt không đáng kể như vậy có nghĩa là cả hai tùy chọn có thể chạy cổ và cổ cho bạn vào thời điểm này.

Như tôi đã đề cập khi bắt đầu bài viết này, môi trường của bạn khởi động nhiều hơn bất kỳ biến nào khác. Một yếu tố hạn chế khi xử lý các bộ chọn là thực tế là chúng trở nên phức tạp hơn khi loại yếu tố phát triển từ đơn giản đến giả sang các bộ kết hợp. Nhiều bộ chọn cũng sẽ làm cho nó phức tạp hơn để thậm chí sử dụng các bộ chọn ngay từ đầu.

Phải có một cách tốt hơn để thực hiện tự động hóa thử nghiệm! bạn có thể nói. Như với hầu hết các quy trình lặp đi lặp lại, trí tuệ nhân tạo đang bắt đầu ảnh hưởng đến cả hai tùy chọn. Các dịch vụ như Testim đã tìm ra những cách nhanh hơn và trực quan hơn để chạy các bài kiểm tra trên các yếu tố trên DOM.

Trong quá khứ, bạn phải tạo các đường dẫn hoặc bộ chọn chính xác ở phía sau bằng cách chải qua tất cả các đánh dấu. Bây giờ, các dịch vụ như Testim đảm nhận điều đó cho bạn. Công ty sử dụng trí tuệ nhân tạo và thuật toán để xem xét toàn bộ DOM và xác định các yếu tố bằng nhiều thuộc tính. Testim sẽ xem xét lớp, cha mẹ/con, màu, văn bản, loại, id hoặc các thuộc tính khác và tìm mục để bạn chạy các bài kiểm tra của bạn. Sử dụng một dịch vụ như vậy ngăn chặn sự tập trung của bạn không tập trung vào bộ chọn XPath vs CSS. Thay vào đó, bạn có thể tập trung nhiều hơn vào kết quả.

Ngoài ra, nếu bạn sử dụng Testim, làm việc ở mặt trước khi tạo các thử nghiệm tự động cũng giúp bạn dễ dàng triển khai sản phẩm nhanh hơn. Bạn có thể sử dụng ít kỹ năng quan trọng hơn để lặp lại giai đoạn thử nghiệm và phản hồi của vòng đời phát triển sản phẩm.

Đọc gì tiếp theo

Hiểu XPath

Làm thế nào để bạn viết bộ chọn XPath và CSS?

Tìm bộ chọn CSS hoặc XPath..
Nhấp chuột phải vào một yếu tố ..
Chọn kiểm tra ..
Xác định vị trí phần tử trong bảng phần tử của các công cụ nhà phát triển ..
Nhấp chuột phải vào dòng của phần tử ..
Chọn Sao chép -> Sao chép Selector hoặc Sao chép -> Sao chép XPath ..
Dán kết quả vào trường ID của một hành động ..

Cú pháp của bộ chọn CSS là gì?

Bộ chọn chỉ vào phần tử HTML bạn muốn tạo kiểu. Khối khai báo chứa một hoặc nhiều khai báo được phân tách bằng dấu chấm phẩy. Mỗi tuyên bố bao gồm một tên thuộc tính CSS và một giá trị, được phân tách bằng một dấu hai chấm.. The declaration block contains one or more declarations separated by semicolons. Each declaration includes a CSS property name and a value, separated by a colon.

Cú pháp của XPath là gì?

Cú pháp của XPath //: Được sử dụng để chọn nút hiện tại.TagName: Tên của thẻ của một nút cụ thể.@: Được sử dụng để chọn thuộc tính Chọn.Thuộc tính: Tên của thuộc tính của nút.//: Used to select the current node. tagname: Name of the tag of a particular node. @: Used to select the select attribute. Attribute: Name of the attribute of the node.

Cú pháp của bộ chọn CSS trong selenium là gì?

Loại CSS CSS = đầu vào [type = 'Gửi'] [giá trị định vị] trong selenium ide.Nhấp vào nút Tìm.Nút Đăng nhập trong Nút sẽ được tô sáng, xác minh giá trị định vị.Thuộc tính: Được sử dụng để tạo bộ chọn CSS.css=input[type='submit']” [locator value] in Selenium IDE. Click on the Find Button. The “Sign in” button will be highlighted, verifying the locator value. Attribute: Used to create the CSS Selector.

Chủ Đề