@ganstar565

Почему происходит «Сайт XXX выполнил переадресацию слишком много раз» и как исправить ошибку «the STRING opcode argument must be quote»?

При попытке авторизоваться на сайти с помощью куки используя библиотеку selenium у меня возникло 2 проблемы.

1)Проблема очень распространенная, однако мне так и не удалось её решить(все способы решения у меня не работали) - при попытке взять куки из корня браузера и загрузить их через pickle и selenium вылазила следующая ошибка:
_pickle.UnpicklingError: the STRING opcode argument must be quoted

перепробовал кучу различных способов - ничего так и не помогло.

2)Забрав куки уже с помощью тех же pickle и selenium и попробовав загрузить их на сайт тем же образом сайт выдал следующее:
Сайт xxx выполнил переадресацию слишком много раз.
.
Код:
spoiler
for cookies in pickle.load(open("Сookies", "rb")):
            self.driver.add_cookie(cookies)
            
        print("загрузка завершена")
        sleep(20)
        self.driver.refresh()
        print("готово")
        sleep(10)


Кто знает как решить эти проблемы, помогите пожалуйста.
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
ganstar565, внезапно, зависит от браузера. Например, гугл "firefox cookie storage format" даёт такой ответ:
Cookies in Firefox are stored in an SQLite format database found in the file cookies.sqlite in the currently-active user profile directory (exact path is system-dependent).

Иными словами, смотришь папку %APPDATA%\Mozilla\Firefox\Profiles, в ней каждый подкаталог - профиль браузера, часто один, но может быть несколько. Внутри подкаталога лежит файл cookies.sqlite.
Путь можно сконструировать с помощью os.path.expandvars() (и модуля os.path в целом), файл открыть стандартным модулем sqlite3, а дальше смотри что внутри таблицы moz_cookies.
Для остальных браузеров по аналогии - гугл, потом эксперименты.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы