Cách lấy cookie từ trình duyệt bằng Python

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"}]
  
0

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"}]
  
1

Nhậ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"}]
  
2

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"}]
  
3

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"}]
  
4

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"}]
  
5

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"}]
  
6

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"}]
  
7

Xó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"}]
  
8

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"}]
  
9

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[];
   }
  }
 }
}
  
0

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[];
   }
  }
 }
}
  
1

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[];
   }
  }
 }
}
  
2

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[];
   }
  }
 }
}
  
3

Xó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[];
   }
  }
 }
}
  
4

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[];
   }
  }
 }
}
  
5

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[];
   }
  }
 }
}
  
6

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[];
   }
  }
 }
}
  
7

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[];
   }
  }
 }
}
  
8

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[];
   }
  }
 }
}
  
9

Thuộ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

Làm cách nào để lấy giá trị cookie từ trình duyệt Python?

Tạo cookie . Sau đó, cookie được lưu trữ bằng hàm set_cookie[] của đối tượng phản hồi. Thật dễ dàng để đọc lại cookie. Phương thức get[] của yêu cầu. Use the make_response[] function to get the response object from the return value of the view function. After that, the cookie is stored using the set_cookie[] function of the response object. It is easy to read back cookies. The get[] method of the request.

Làm cách nào để sử dụng cookie trong Python?

Chúng tôi sử dụng tiêu đề HTTP Set-Cookie để đặt cookie . Bạn có thể tùy chọn đặt các thuộc tính cookie như Hết hạn, Tên miền và Đường dẫn. Đáng chú ý là cookie được đặt trước khi gửi dòng ma thuật "Kiểu nội dung. văn bản/html\r\n\r\n.

Chủ Đề