Hướng dẫn which one is faster css or xpath? - cái nào nhanh hơn css hoặc xpath?
Cả XPath và CSS đều là một trong những người định vị được sử dụng thường xuyên nhất trong selen. Mặc dù có các trình định vị khác như ID, tên, ClassName, TagName và văn bản liên kết, v.v., XPath và CSS được sử dụng khi không có thuộc tính duy nhất nào có sẵn để xác định các yếu tố. Show
Có một số khác biệt giữa XPath và CSS được liệt kê dưới đây -
Thí dụThực hiện mã với CSS. from selenium import webdriver #browser exposes an executable file #Through Selenium test we will invoke the executable file which will then #invoke actual browser driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") # to maximize the browser window driver.maximize_window() #get method to launch the URL driver.get("https://www.tutorialspoint.com/index.htm") #to refresh the browser driver.refresh() # identifying the edit box with the help of css driver. find_element_by_css_selector("input[class='gsc-input']"). send_keys("Selenium") #to close the browser driver.close() Thực hiện mã với XPath from selenium import webdriver #browser exposes an executable file #Through Selenium test we will invoke the executable file which will then #invoke actual browser driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") # to maximize the browser window driver.maximize_window() #get method to launch the URL driver.get("https://www.tutorialspoint.com/index.htm") #to refresh the browser driver.refresh() # identifying the edit box with the help of xpath driver. find_element_by_xpath("//input[@class='gsc-input']"). send_keys("Selenium") #to close the browser driver.close()
Cập nhật vào ngày 29 tháng 1-2020 07:38:10
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 là 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
Cách tạo XpathXML 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:
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.
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.
Ưu điểm của việc sử dụng bộ chọn CSS
Mở rộng phạm vi kiểm tra của bạnTá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 CSSHã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.
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;
& 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. A [href^= "Một số giá trị ở đây"] Chẳng hạn, hãy để nói rằng bạn muốn chọn ra phần tử bao gồm cả thư thư & nbsp; làm giá trị. Trong trường hợp đó, bạn đã sử dụng dấu * sau khóa HREF. Điều này sẽ cung cấp cho bạn:Điều này trả về tất cả các yếu tố nhưng nguyên tố đầu tiên vì nó không có thư là tên miền phụ. Thế còn các trường hợp mà bạn muốn chọn tất cả các yếu tố kết thúc trong một giá trị nhất định? Sau đó, bạn thay thế * bằng $. Bạn có thể lọc các mục bắt đầu với một giá trị nhất định bằng cách sử dụng ^ dấu. Có rất nhiều dấu hiệu như vậy tùy thuộc vào các quy tắc bạn sử dụng để lựa chọn. 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 theoHiểu XPath Tại sao CSS nhanh hơn XPath?XPath cho phép dòng chảy hai chiều, điều đó có nghĩa là cả hai cách có thể là cả hai cách từ cha mẹ đến con và con đến cha mẹ. CSS chỉ cho phép một luồng định hướng có nghĩa là chỉ từ cha mẹ sang con. XPath chậm hơn về hiệu suất và tốc độ. CSS có hiệu suất và tốc độ tốt hơn XPath.Css allows only one directional flow which means the traversal is from parent to child only. Xpath is slower in terms of performance and speed. Css has better performance and speed than xpath.
Cái nào nhanh hơn giữa CSS hoặc XPath?Ưu điểm của việc sử dụng Bộ chọn CSS CSS là lựa chọn duy nhất trong trường hợp này.Các trình duyệt cũ như Internet Explorer không hỗ trợ CSS đầy đủ.Tuy nhiên, ngày nay, trình duyệt hỗ trợ bộ chọn CSS đầy đủ;Vì vậy, khả năng tương thích sẽ không phải là một vấn đề.Bộ chọn CSS cũng nhanh hơn XPath.CSS Selectors are also faster than XPath.
CSS hoặc XPath nào nhanh hơn trong selen?Về hiệu suất, CSS tốt hơn và nhanh hơn, trong khi XPath ở phía chậm hơn.Một XPath có thể có hai loại - tuyệt đối bắt đầu từ nút gốc và tương đối không cần phải bắt đầu từ gốc.Để đi qua phần tử thứ n, chúng ta phải đề cập đến [n] trong XPath, trong đó n là số chỉ mục.css is better and faster, while xpath is on a slower side. An xpath can be of two types – absolute which starts from the root node and relative does not require to be started from the root. To traverse to the nth element, we have to mention [n] in the xpath, where n is the index number.
Tại sao CSS là công cụ định vị nhanh nhất?Một lời giải thích tôi có thể nhận được là tôi đã thêm nhiều thuộc tính ID vào các yếu tố web (đó là một thông lệ khá phổ biến).Công cụ định vị CSS là nhanh nhất, tôi nghĩ điều này là do tối ưu hóa của Chrome để kết xuất. |