#python #roblox
#python #roblox
Вопрос:
Я пытаюсь изменить файл cookie .ROBLOSECURITY на www.roblox.com . Это для попытки робота, который будет перебирать учетные записи.
Я получаю сообщение об ошибке:
«selenium.common.exceptions.Исключение UnableToSetCookieException: сообщение: невозможно установить файл cookie
(информация о сеансе: 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» и изменить домены на те, которые есть на веб-сайте, но безрезультатно.
Ответ №1:
Чтобы использовать любой из методов обработки файлов cookie в WebDriver, нам сначала нужно импортировать класс Cookie. Для этого мы используем:
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();
}
Часть этого ответа была взята отсюда.
Комментарии:
1. Какой язык? Вопрос помечен Python, но примеры кода — нет. Это Java?
Ответ №2:
Нет способа отредактировать файл 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"})