Cookie là một phần dữ liệu nhỏ được gửi từ một trang web và được lưu trữ trong máy tính của bạn. Cookie chủ yếu được sử dụng để nhận dạng người dùng và tải thông tin được lưu trữ
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
Thêm Cookie
Nó được sử dụng để thêm cookie vào bối cảnh duyệt web hiện tại. Thêm vào Cookie chỉ chấp nhận một tập hợp đối tượng JSON có thể tuần tự hóa được xác định. là liên kết đến danh sách các giá trị khóa JSON được chấp nhận
Trước hết, bạn cần ở trên miền mà cookie sẽ hợp lệ. Nếu bạn đang cố gắng đặt trước cookie trước khi bắt đầu tương tác với một trang web và trang chủ của bạn lớn/mất một lúc để tải, một giải pháp thay thế là tìm một trang nhỏ hơn trên trang web [thường là trang 404 nhỏ, e. g. http. //ví dụ. com/some404page]
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
public class addCookie {
public static void main[String[] args] {
WebDriver driver = new ChromeDriver[];
try {
driver.get["//www.example.com"];
// Adds the cookie into current browser context
driver.manage[].addCookie[new Cookie["key", "value"]];
} finally {
driver.quit[];
}
}
}
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
begin
driver.get '//www.example.com'
# Adds the cookie into current browser context
driver.manage.add_cookie[name: "key", value: "value"]
ensure
driver.quit
end
it['Create a cookie', async function[] {
await driver.get['//www.example.com'];
// set a cookie on the current domain
await driver.manage[].addCookie[{ name: 'key', value: 'value' }];
}];
import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main[] {
val driver = ChromeDriver[]
try {
driver.get["//example.com"]
// Adds the cookie into current browser context
driver.manage[].addCookie[Cookie["key", "value"]]
} finally {
driver.quit[]
}
}
Nhận cookie được đặt tên
Nó trả về dữ liệu cookie được tuần tự hóa khớp với tên cookie trong số tất cả các cookie được liên kết
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
public class getCookieNamed {
public static void main[String[] args] {
WebDriver driver = new ChromeDriver[];
try {
driver.get["//www.example.com"];
driver.manage[].addCookie[new Cookie["foo", "bar"]];
// Get cookie details with named cookie 'foo'
Cookie cookie1 = driver.manage[].getCookieNamed["foo"];
System.out.println[cookie1];
} finally {
driver.quit[];
}
}
}
from selenium import webdriver
driver = webdriver.Chrome[]
# Navigate to url
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "foo", "value": "bar"}]
# Get cookie details with named cookie 'foo'
print[driver.get_cookie["foo"]]
________số 8
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
begin
driver.get '//www.example.com'
driver.manage.add_cookie[name: "foo", value: "bar"]
# Get cookie details with named cookie 'foo'
puts driver.manage.cookie_named['foo']
ensure
driver.quit
end
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
0from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
1Nhận tất cả cookie
Nó trả về 'dữ liệu cookie được tuần tự hóa thành công' cho bối cảnh duyệt web hiện tại. Nếu trình duyệt không còn khả dụng, nó sẽ trả về lỗi
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
2from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
3from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
4from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
5from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
6from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
7Xóa Cookie
Nó xóa dữ liệu cookie khớp với tên cookie được cung cấp
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
8from selenium import webdriver
driver = webdriver.Chrome[]
driver.get["//www.example.com"]
# Adds the cookie into current browser context
driver.add_cookie[{"name": "key", "value": "value"}]
9using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
0using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
1using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
2using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
3Xóa tất cả cookie
Nó xóa tất cả các cookie của bối cảnh duyệt web hiện tại
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
4using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
5using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
6using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
7using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
8using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace AddCookie {
class AddCookie {
public static void Main[string[] args] {
IWebDriver driver = new ChromeDriver[];
try {
// Navigate to Url
driver.Navigate[].GoToUrl["//example.com"];
// Adds the cookie into current browser context
driver.Manage[].Cookies.AddCookie[new Cookie["key", "value"]];
} finally {
driver.Quit[];
}
}
}
}
9Thuộc tính cookie cùng trang web
Nó cho phép người dùng hướng dẫn các trình duyệt kiểm soát xem cookie có được gửi cùng với yêu cầu do các trang web của bên thứ ba khởi tạo hay không. Nó được giới thiệu để ngăn chặn các cuộc tấn công CSRF [Cross-Site Request Forgery]
Thuộc tính cookie Same-Site chấp nhận hai tham số làm hướng dẫn
Nghiêm khắc
Khi thuộc tính sameSite được đặt là Nghiêm ngặt, cookie sẽ không được gửi cùng với các yêu cầu do trang web của bên thứ ba khởi tạo
lỏng lẻo
Khi bạn đặt thuộc tính SameSite của cookie thành Lax, cookie sẽ được gửi cùng với yêu cầu GET do trang web của bên thứ ba khởi tạo
Ghi chú. Tính đến thời điểm hiện tại, tính năng này đã có mặt trên chrome [phiên bản 80+], Firefox [phiên bản 79+] và hoạt động với Selenium 4 và các phiên bản mới hơn