@chyrik said in Выпущена 27.6.1 версия BrowserAutomationStudio:
то есть старые восстановить, для работы в новой версии баса уже не получится? я правильно понял?
Получится, почему же.
Вот код конвертации:
function convertOldToNew(oldCookies) {
var newCookies = {
cookies: []
};
// Get the current time in seconds
var currentTime = Math.floor(Date.now() / 1000);
for (var i = 0; i < oldCookies.cookies.length; i++) {
var cookie = oldCookies.cookies[i];
var newCookie = {};
for (var key in cookie) {
if (cookie.hasOwnProperty(key)) {
newCookie[key] = cookie[key];
}
}
// Check if the cookie's expires time is in the past
if (cookie.expires < currentTime) {
// Set expires to one month from the current time
var oneMonthLater = currentTime + (30 * 24 * 60 * 60); // 30 days in seconds
newCookie.expires = oneMonthLater;
}
// Check if partitionKey exists and transform it
if (cookie.partitionKey) {
newCookie.partitionKey = {
hasCrossSiteAncestor: false,
topLevelSite: cookie.partitionKey
};
}
newCookies.cookies.push(newCookie);
}
return newCookies;
}
// [[COOKIES]] - данные в стандартном формате BAS, в виде объекта, не строки!
// Конвертация строки с кукисами в объект: [[COOKIES]] = JSON.parse([[COOKIES_STR]])
VAR_COOKIES_CONVERTED = convertOldToNew(VAR_COOKIES);
//log(JSON.stringify(VAR_COOKIES_CONVERTED, null, 4));
// конвертация обратно в строку: [[COOKIES_ NEW_STR]] = JSON.stringify([[COOKIES_CONVERTED]])
Код дополнительно продляет кукисы на 1 месяц, если истек их срок действия, если не нужно, можно выпилить.
Код довольно простой, без проверок формата, который описан в документации.