Использование Cookie+selenium в Wildberries
Всем привет! Помогите пожалуйста победить авторизацию в wildberries.ru, а именно (https://seller-auth.wildberries.ru/ru/?redirect_url=https://seller.wildberries.ru/?skipLanding). Cookie получаю и подгружаю, но все равно не идёт, не могу понять, что я делаю не так. Может был опыт у кого?
Ответы (1 шт):
Автор решения: Rodrigez Garsea
→ Ссылка
Вам нужно подгружать не только файлы cookie, но и подгружать данные из local storage и session storage.
#Функция для загрузки cookies
def load_cookies(driver, filename):
with open(filename, 'r') as file:
cookies = json.load(file)
for cookie in cookies:
driver.add_cookie(cookie)
# Функция для загрузки данных в localStorage и sessionStorage
def load_storage(driver, local_filename, session_filename):
# Загрузка данных из localStorage
try:
with open(local_filename, 'r') as local_file:
local_storage = local_file.read()
# Экранирование одинарных кавычек и обратных слэшей
local_storage = local_storage.replace("'", "\\'").replace("\\", "\\\\")
driver.execute_script(
f"Object.entries(JSON.parse('{local_storage}')).forEach(([key, value])"
" => {{ window.localStorage.setItem(key, value); }});"
)
print(f"Данные localStorage загружены из {local_filename}")
except Exception as e:
print(f"Ошибка при загрузке localStorage: {e}")
# Загрузка данных из sessionStorage
try:
with open(session_filename, 'r') as session_file:
session_storage = session_file.read()
# Экранирование одинарных кавычек и обратных слэшей
session_storage = session_storage.replace("'", "\\'").replace("\\", "\\\\")
driver.execute_script(
f"Object.entries(JSON.parse('{session_storage}')).forEach(([key, value])"
" => {{ window.sessionStorage.setItem(key, value); }});"
)
print(f"Данные sessionStorage загружены из {session_filename}")
except Exception as e:
print(f"Ошибка при загрузке sessionStorage: {e}")