HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 30.01.2024, 17:06
Vintik
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами: 4598023

Репутация: 183


По умолчанию

Привет, хочу логиниться в веб телеграм с помощью Selenium.

Значит, tg web сохраняет данные сессии в localStorage.

Вот чел написал класс на Пайтоне, который позволяет скопировать все данные localStorage:

How to get the localStorage with Python and Selenium WebDriver

What's the equivalent of: driver.get_cookies() to get the LocalStorage instead of Сookies?

stackoverflow.com


Я же дописал эту фигню, эти данные сохраняются в файл.

Дальше, при перезапуске (первый раз я сам от руки залогинился в телеграм веб) эти данные должны как-то использоваться

Я не могу найти как запустить страницу webdriver.get вместе с нужными localStorage

Python:





Код:
def
set
(
self
,
key
,
value
)
:
self
.
driver
.
execute_script
(
"window.localStorage.setItem(arguments[0], arguments[1]);"
,
key
,
value
)


Этот код не работает или я не понимаю когда его использовать. Если до get - то ошибка (потому что пустая вкладка), если после get - то бессмысленно, так как проверка уже прошла на регистрацию.
 
Ответить с цитированием

  #2  
Старый 31.01.2024, 21:43
Fott
Флудер
Регистрация: 28.06.2019
Сообщений: 3,442
С нами: 3619995

Репутация: 168


По умолчанию

У тебя название функции говорит на себя - execute_script - выполнение JS скрипта. https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

Цитата:
Сообщение от Vintik  

Если до get - то ошибка (потому что пустая вкладка)
Потому что на странице типа data нельзя загружать скрипт. Ты можешь сделать для наглядности при запуске браузера открытие страницы example.com, потом свой код, и ты увидишь что у тебя item`ы загрузятся на страницу, что логично.

Ты хочешь использовать функцию выполнения скрипта на странице, до начала загрузки страницы.

Если телеграмм оттуда берет данные для авторизации, то ты можешь попробовать открыть страницу -> записать данные в localStoarge -> и перезагрузить страницу при помощи







Python:





Код:
driver
.
refresh
(
)


Таким образом у тебя страница перезагрузится с данными.
 
Ответить с цитированием

  #3  
Старый 22.05.2024, 22:03
Jogan
Новичок
Регистрация: 22.05.2024
Сообщений: 1
С нами: 1042351

Репутация: 1
По умолчанию

Цитата:
Сообщение от Vintik  

Привет, хочу логиниться в веб телеграм с помощью Selenium.
Значит, tg web сохраняет данные сессии в localStorage.
Вот чел написал класс на Пайтоне, который позволяет скопировать все данные localStorage:

How to get the localStorage with Python and Selenium WebDriver

What's the equivalent of: driver.get_cookies() to get the LocalStorage instead of Сookies?

stackoverflow.com


Я же дописал эту фигню, эти данные сохраняются в файл.
Дальше, при перезапуске (первый раз я сам от руки залогинился в телеграм веб) эти данные должны как-то использоваться
Я не могу найти как запустить страницу webdriver.get вместе с нужными localStorage

Python:





Код:
def
set
(
self
,
key
,
value
)
:
self
.
driver
.
execute_script
(
"window.localStorage.setItem(arguments[0], arguments[1]);"
,
key
,
value
)


Этот код не работает или я не понимаю когда его использовать. Если до get - то ошибка (потому что пустая вкладка), если после get - то бессмысленно, так как проверка уже прошла на регистрацию.
Здравствуйте, подскажите пожалуйста удалось ли вам решить этот вопрос?

Столкнулся с такой же проблемой, но на java
 
Ответить с цитированием

  #4  
Старый 23.05.2024, 13:28
Vintik
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами: 4598023

Репутация: 183


По умолчанию

Цитата:
Сообщение от Jogan  

Здравствуйте, подскажите пожалуйста удалось ли вам решить этот вопрос?
Столкнулся с такой же проблемой, но на java
Привет, нет, к сожалению, не удалось. И поэтому Selenium мне не помог в этом смысле, пришлось каждый раз сначала запускать страницу (открывать её в окне), а после уже руками вводить данные.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.