Selenium đặt cookie trước khi tải trang python

Xin chào các lập trình viên, trong hướng dẫn này, chúng ta sẽ xem cách lưu và tải cookie bằng trình điều khiển web Selenium trong Python

Cookie là các tệp nhỏ chứa các mẩu dữ liệu rất nhỏ được trình duyệt lưu trong khi sử dụng ứng dụng. Cookie thường giúp cải thiện trải nghiệm duyệt web của người dùng bằng cách phân tích dữ liệu về trải nghiệm của người dùng trên ứng dụng

Dữ liệu chỉ được lưu trữ trong cookie khi người dùng kết nối với máy chủ. Cookie rất độc đáo đối với máy tính của người dùng

Khi một trang web tải, thông thường sẽ thấy một cửa sổ bật lên yêu cầu người dùng cấp quyền cho trang web chạy cookie. Cookie là một phần thông tin bao gồm tên, giá trị, thời hạn sử dụng, đường dẫn, v.v. Nó giúp người dùng giữ lại lịch sử tìm kiếm, đăng nhập và các chi tiết liên quan khác

Bài viết này sẽ cung cấp thông tin chi tiết về cách xử lý cookie trong Selenium WebDriver với các ví dụ về mã và cách xóa bộ nhớ cache của trình duyệt trong Selenium bằng hai phương pháp dễ dàng

Giới thiệu về Selenium WebDriver Cookies

Cookie là một mẩu dữ liệu nhỏ được gửi từ một trang web và được lưu trữ trên máy tính của người dùng. Cookie cũng nhận ra người dùng quay lại trang web và tải thông tin được lưu trữ trước đó. Về cơ bản, cookie lưu trữ danh tính của người dùng và theo dõi hành trình của người dùng thông qua các trang của trang web. API WebDriver cung cấp cách tương tác với cookie bằng các phương thức tích hợp.
Bây giờ, hãy xem các lệnh Selenium khác nhau dành cho cookie.

Các lệnh Selenium cho Cookies

Các lệnh bên dưới được sử dụng để lấy, thêm và xóa tất cả cookie có trong trình duyệt

  • Nhận cookie. Nhận cookie cho tên miền hiện tại
driver.manage[].getCookies[]; // Returns the List of all Cookies
driver.manage[].getCookieNamed[arg0]; //Returns the specific cookie according to name
  • Thêm Cookie. Thêm một cookie cụ thể vào cookie. Nếu tên miền của cookie trống, có nghĩa là cookie dành cho miền của tài liệu hiện tại
driver.manage[].addCookie[arg0]; //Creates and adds the cookie
  • Xóa Cookie. Xóa cookie cho tên miền hiện tại
driver.manage[].deleteCookie[arg0]; // Deletes the specific cookie
driver.manage[].deleteCookieNamed[arg0]; // Deletes the specific cookie according to the Name
driver.manage[].deleteAllCookies[]; // Deletes all the cookies

Tầm quan trọng của việc xử lý cookie trong Selenium Automation WebDriver

Khi kiểm tra một ứng dụng web bằng Selenium Webdriver, người kiểm tra có thể tạo, cập nhật hoặc xóa cookie

  • Ví dụ: khi tự động hóa ứng dụng giao đồ ăn trực tuyến, người thử nghiệm cần tự động hóa các tình huống người dùng khác nhau như đặt hàng, xem giỏ hàng, thanh toán, nhận xác nhận đơn hàng, v.v.
  • Nếu cookie không được lưu trữ, người dùng cần phải đăng nhập mỗi lần trước khi thực hiện các kịch bản thử nghiệm được liệt kê ở trên
  • Điều này làm tăng nỗ lực mã hóa và thời gian thực hiện

Giải pháp ở đây là lưu trữ cookie trong một tệp. Sau đó, các giá trị của mỗi cookie có thể được lấy từ tệp này và thêm vào phiên trình duyệt hiện tại. Do đó, người kiểm tra bỏ qua các bước đăng nhập trong mọi trường hợp kiểm tra vì phiên trình điều khiển có thông tin này. Máy chủ ứng dụng hiện xử lý phiên trình duyệt được xác thực và trực tiếp đưa người kiểm tra đến URL được yêu cầu. Đây là lý do tại sao việc xử lý cookie trong Selenium Webdriver là cần thiết

Xử lý Cookies trong Selenium WebDriver [Ví dụ]

Đoạn mã sau trình bày cách lưu trữ cookie trong hệ thống tệp và truy xuất thông tin cần thiết với sự trợ giúp của Selenium WebDriver

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter;
import java.util.Set;
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.Cookie;

public class cookieRead{ 

public static void main[String[] args]{
WebDriver driver; 
System.setProperty["webdriver.chrome.driver","Chrome_driver_path"]; 
driver=new ChromeDriver[]; 
driver.get["//www.facebook.com"];
//Enter Email id and Password if you are already Registered user 
driver.findElement[By.name["username"]].sendKeys["your_username"]; 
driver.findElement[By.name["password"]].sendKeys["your_password"]; 
driver.findElement[By.name["submit"]].click[]; 
// Create a file to store Login Information 
File file = new File["Cookiefile.data"]; 
try{ 
// Delete old file if already exists
file.delete[]; 
file.createNewFile[]; 
FileWriter file = new FileWriter[file]; 
BufferedWriter Bwritecookie = new BufferedWriter[file]; //Getting the cookie information 
for[Cookie ck : driver.manage[].getCookies[]] { 
Bwrite.write[[ck.getName[]+";"+ck.getValue[]+";"+ck.getDomain[]+";"+ck.getPath[]+";"+ck.getExpiry[]+";"+ck.isSecure[]]]; 
Bwritecookie.newLine[]; 
} 
Bwritecookie.close[]; 
file.close[]; 
}
catch[Exception ex] 
{ 
ex.printStackTrace[]; 
} 
} 
}
  • Khi mã được thực thi, WebDriver sẽ lưu trữ thông tin cookie bằng cách sử dụng Lớp FileWriter để ghi các luồng ký tự và BufferedWriter để ghi văn bản vào tệp có tên “Cookiefile. dữ liệu"
  • Tệp lưu trữ thông tin cookie – “Tên, Giá trị, Tên miền, Đường dẫn”
  • Người kiểm tra có thể truy xuất thông tin này và đăng nhập mà không cần nhập thông tin đăng nhập

cũng đọc. Tự động đăng nhập bằng Selenium Webdriver

Làm cách nào để xóa Bộ nhớ cache của trình duyệt bằng Selenium WebDriver?

Phương pháp 1

  1. Xóa cookie của trình duyệt trước khi bắt đầu bài kiểm tra của bạn là điều cần thiết
  2. Nếu người thử nghiệm sử dụng Selenium WebDriver để tự động hóa thử nghiệm, họ có thể sử dụng phương pháp bên dưới để xóa tất cả cookie
  3. Tạo một phương thức void bên dưới và sau đó gọi phương thức này trước khi điều hướng đến URL của ứng dụng
public void ClearBrowserCache[]
{
webDriver.Manage[].Cookies.DeleteAllCookies[]; //delete all cookies
Thread.Sleep[7000]; //wait 7 seconds to clear cookies.
}

Phương pháp 2

  1. Điều hướng đến trang cài đặt Chrome bằng Selenium bằng cách thực thi trình điều khiển. nhận được ['cơm. // cài đặt/xóaBrowserData']
  2. Nhấp vào nút Xóa dữ liệu để xóa bộ nhớ cache
  3. Nhấp chuột phải vào nút và sau đó nhấp vào Kiểm tra để mở Công cụ dành cho nhà phát triển Chrome
  4. Bây giờ xác định vị trí phần tử bằng XPath hoặc Chropath
  5. Sử dụng nó trong tập lệnh Selenium và áp dụng các lệnh đợi để đợi cho đến khi bộ đệm bị xóa

Xử lý cookie trong Selenium rất đơn giản nếu biết đúng lệnh. Theo dõi chi tiết của bài viết này, người kiểm tra có thể dễ dàng xử lý cookie Selenium và kiểm tra chính xác một số tình huống người dùng phổ biến nhất để đảm bảo trải nghiệm người dùng tốt

Lưu ý – Các bài kiểm tra Selenium phải được chạy trên các trình duyệt và thiết bị Real để có kết quả chính xác

  • Bắt đầu chạy thử nghiệm trên hơn 3000 trình duyệt và thiết bị thực trên Đám mây thiết bị thực của BrowserStack
  • Chạy thử nghiệm song song trên Cloud Selenium Grid để có kết quả nhanh hơn và chính xác hơn
  • Phát hiện lỗi trước khi người dùng thực hiện bằng cách thử nghiệm phần mềm trong điều kiện người dùng thực

Đăng ký kiểm tra Selenium

Trong khi Selenium 4 vừa được phát hành, Selenium Webdriver sẽ được chuẩn hóa hoàn toàn W3C. Các trình duyệt như Chrome, Safari, Firefox, IE và Edge cũng sẽ tuân theo tiêu chuẩn hóa W3C, mang lại sự ổn định cho các Lệnh Selenium

Trong hội thảo trên web sau đây, David Burns, người đóng góp cốt lõi cho Selenium, nói về việc điều này sẽ ảnh hưởng như thế nào đến các thử nghiệm của bạn và các tính năng mới mà bạn có thể bắt đầu sử dụng ngay lập tức

Selenium Trình quản trị web Selenium

Bài đăng này có hữu ích không?

Vâng, cảm ơn Không thực sự

Chúng tôi rất tiếc khi biết điều đó. Hãy chia sẻ phản hồi của bạn để chúng tôi có thể làm tốt hơn

Cảm ơn rất nhiều phản hồi của bạn

thẻ

Selenium Trình quản trị web Selenium

Những bài viết liên quan

5 thủ thuật Selenium giúp cuộc sống của bạn dễ dàng hơn

Tìm hiểu 5 mẹo và thủ thuật Selenium sẽ giúp bạn tự động hóa các bài kiểm tra của mình dễ dàng hơn nhiều

Tìm hiểu thêm

6 thực hành để tự động hóa trình duyệt web Selenium hiệu quả

Tìm hiểu năm phương pháp sẽ giúp tự động hóa trình duyệt web Selenium hiệu quả. Tự động hóa phiên bản

Tìm hiểu thêm

Cách chạy thử nghiệm trên GitLab CI cục bộ

Tự hỏi làm thế nào để sử dụng GitLab CI để kiểm tra cục bộ?

Làm cách nào để đặt cookie trong Selenium Python?

Trong Selenium, bạn có thể lấy và đặt cookie bằng các phương thức get_cookies[] và add_cookie[] .

Làm cách nào để tải cookie trong Selenium Python?

Đang tải cookie trong Selenium WebDriver . Phương thức này trả về một danh sách các đối tượng. Đó là lý do tại sao chúng ta cần truy cập phần tử đầu tiên của danh sách bằng cách nói cookie = pickle. tải[f][0]. get_cookies[] method to store the cookies. This method returns a list of objects. That's why we need to access the first element of the list by saying cookie = pickle. load[f][0] .

Selenium có đợi trang tải Python không?

Đối với Python, bạn sẽ phải triển khai Selenium Đợi trang tải để đảm bảo rằng các thử nghiệm được thực hiện với các Thành phần Web cần thiết trong . Một số trang web có một số thành phần hoặc yếu tố bị ẩn hoặc không hiển thị ở giai đoạn đầu.

Làm cách nào để tự động hóa cookie trong Selenium?

Giải thích mã. .
Tạo phiên bản WebDriver
Đăng nhập vào Ứng dụng
Đọc thông tin cookie bằng trình điều khiển. quản lý[]. getCookies[];
Lưu trữ thông tin cookie bằng FileWriter Class để viết các luồng ký tự và BufferedWriter để ghi văn bản vào một tệp để tạo thành một tệp Cookies. dữ liệu

Chủ Đề