 |

30.01.2024, 17:06
|
|
Познавший АНТИЧАТ
Регистрация: 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 - то бессмысленно, так как проверка уже прошла на регистрацию.
|
|
|

31.01.2024, 21:43
|
|
Флудер
Регистрация: 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
(
)
Таким образом у тебя страница перезагрузится с данными.
|
|
|

22.05.2024, 22:03
|
|
Новичок
Регистрация: 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
|
|
|

23.05.2024, 13:28
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от Jogan
Здравствуйте, подскажите пожалуйста удалось ли вам решить этот вопрос?
Столкнулся с такой же проблемой, но на java
Привет, нет, к сожалению, не удалось. И поэтому Selenium мне не помог в этом смысле, пришлось каждый раз сначала запускать страницу (открывать её в окне), а после уже руками вводить данные.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|