在 Selenium 中更改 ROBLOSECURITY Cookie

Changing ROBLOSECURITY Cookie in Selenium

我正试图在 www.roblox.com 上更改 .ROBLOSECURITY 的 cookie。这是针对将循环浏览帐户的尝试机器人。

我收到错误:

"selenium.common.exceptions.UnableToSetCookieException: Message: unable to set cookie
(Session info: chrome=86.0.4240.75)"

这是到目前为止的代码...

with open("CookieList.txt") as CookieFile:
    Cookies = CookieFile.readlines()
    for Cookie in Cookies:
        PATH = "C:\Program Files (x86)\chromedriver.exe"
        driver = webdriver.Chrome(PATH)
        driver.get("https://www.roblox.com/games/" + GameID + "/Name/")
        #input("Log into your account in the new browser. Type 'Done' when finished.\n")
        roblocookie = {
            'name': "ROBLOSECURITY",
            'value': Cookie,
        }
        driver.add_cookie(roblocookie)

我试过制作“ROBLOSECURITY”、“.ROBLOSECURITY”并将域更改为网站上的域,但无济于事。

无法编辑 cookie。您必须删除 cookie,然后创建一个新的。

删除 cookie:

from selenium import webdriver
driver = webdriver.Chrome()

# Navigate to the URL
driver.get("http://www.example.com")
driver.add_cookie({"name": "test1", "value": "cookie1"})
driver.add_cookie({"name": "test2", "value": "cookie2"})

# Delete a cookie with name 'test1'
driver.delete_cookie("test1")

创建一个 cookie:

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("http://www.example.com")

# Adds the cookie into current browser context
driver.add_cookie({"name": "key", "value": "value"})

要使用 WebDriver 中的任何 cookie 处理方法,我们首先需要导入 Cookie class。为此,我们使用:

import org.openqa.selenium.Cookie;

检索所有 cookie

// This method gets all the cookies
public Set<Cookie> getAllCookies() {
    return driver.manage().getCookies();
}

检索命名的 cookie

// This method gets a specified cookie
public Cookie getCookieNamed(String name) {
    return driver.manage().getCookieNamed(name);
}

检索 cookie 的值

// This method gets the value of a specified cookie
public String getValueOfCookieNamed(String name) {
    return driver.manage().getCookieNamed(name).getValue();
}

添加 cookie

// This method adds or creates a cookie
public void addCookie(String name, String value, String domain, String path, Date expiry) {
    driver.manage().addCookie(
    new Cookie(name, value, domain, path, expiry));
}

添加一组 cookie

// This method adds set of cookies for a domain
public void addCookiesToBrowser(Set<Cookie> cookies, String domain) {
    for (Cookie c : cookies) {
        if (c != null) {
            if (c.getDomain().contains(domain)){
                driver.manage().addCookie(
                new Cookie(name, value, domain, path, expiry));
            }
        }
    }
    driver.navigate().refresh();
}

部分答案摘自 here