Использование 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}")
→ Ссылка