Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 28, 2019 12:36:35

Pes
Зарегистрирован: 2018-06-23
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

Всем привет!

Кто-нибудь знает как в питоне можно получить список активных вкладок открытого браузера?
Допустим у меня открыты три страницы (вкладки), и мне, каким-либо способом, нужно получить список этих вкладок. Как это можно сделать?

Типо результат:
>>> 'https://www.youtube.com/', 'https://vk.com/', 'https://www.knigi.com/'

Метод гугления не помогает ((.. или я просто не там смотрю.
Селениум что-то не хочет такого делать.(( или я не понимаю как это сделать….

Хочется как в javascript чего то простенького…
Вот так (ну только значение не выводить через алерт, а присобачить к переменной):
<script>
alert(window.location.host)
</script>

Неужели в питоне нет ничего такого ???
Может кто-то знает в какую сторону мне бежать с лопатой и копать инфу по этому вопросу???

Отредактировано Pes (Апрель 28, 2019 12:39:40)

Офлайн

#2 Апрель 28, 2019 14:27:49

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

Pes
Неужели в питоне нет ничего такого ???
Конечно нет. Более того, и не должно быть, поскольку это язык общего назначения, интерпретатор которого в броузер не встроен как например javascript. (Если вы возьмете интерпретатор python встроенный в браузер , например то там проблем получить информацию о ТЕКУЩЕЙ СТРАНИЦЕ нет. см например https://brython.info/)

В Вашей постановке задача вообще неразрешима. Если открыто несколько браузеров, да еще разных надо объединять перечни страниц? В некоторых браузерах нельзя одновременно открыть несколько страниц. Как тогда вы планируете получить список страниц?



Отредактировано doza_and (Апрель 28, 2019 14:28:25)

Офлайн

#3 Апрель 28, 2019 15:17:35

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

Не-не, теоретически это возможно.
Через ctypes.CDLL цепляете kernel32.dll, в winapi документации ищите usage по ReadProcessMemory, потом через какой-нибудь CheatEngine ищите указатель на начало массива открытых страниц (windows.location.host) по одной из открытых, потом тупо через ту функцию читаете массив с того указателя - PROFIT!
Но это все очень сомнительная идея, лучше так не делать.



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#4 Апрель 28, 2019 19:38:19

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

DamMercul
Не-не, теоретически это возможно.
DamMercul
цепляете kernel32.dll, в winapi документации
:):):) Не не!!! так не честно. ТС не уточнял какая у него ОС. Может он с телефона это хочет делать.



Офлайн

#5 Апрель 29, 2019 00:37:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9860
Репутация: +  853  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

Pes
Кто-нибудь знает как в питоне можно получить список активных вкладок открытого браузера?
Я получал, залазя в файлы браузера. Там лежит json-файл, который хранит все открытые вкладки на случай падения браузера. Вот там я и брал все открытые ссылки, чтобы быстро сохранить их в виде html-страницы, которой можно потом пользоваться. Например, в YouTube открыл кучу роликов интересных, но просматривать их все времени нет, так я просто жму Ctrl + Win + F , вызывается моя программа и они все сохраняются в виде org-файла в директорию, которая задана в настройках моей программы. Там настройки лежат в /etc и в $HOME, как у всех программ, - это настройки для всех пользователей и только для текущего пользователя. Вот написал кропотливо один раз программу и теперь пользуюсь ей часто.

О, забыл, что написал же описание на инглише
https://freeprogs.github.io/ffurls



Офлайн

#6 Апрель 29, 2019 14:04:30

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

DamMercul
в winapi документации ищите usage по ReadProcessMemory
а что современная Винда даст стороннему процессу доступ к памяти другого стороннего процесса? А то я просто не в курсе.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Апрель 30, 2019 11:50:37

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

JOHN_16
а что современная Винда даст стороннему процессу доступ к памяти другого стороннего процесса? А то я просто не в курсе.

ну вобщеми целом да
https://docs.microsoft.com/en-us/windows/desktop/api/memoryapi/nf-memoryapi-readprocessmemory
конечно же таким образом можно получить доступ к памяти не любого процесса. Там наверняка есть какиенить ограничения типа что процессы должны быть запущены от имени одного и того же пользователя, или должна быть включена опция отладки в ОС, или еще чтонить в том же духе. Я вобщем то так глубко не копал чтобы выяснять все нюансы…

Pes вам надо бы всеже уточнить какая ОС у вас и какой браузер.. например в хроме достаточно открыть страницу chrome/inspect/#pages и оно выдаст вам список всех вкладок, дальше парсите страницу и делаете что хотите, но например с лисой такой финт не пойдет.

Pes
Может кто-то знает в какую сторону мне бежать с лопатой и копать инфу по этому вопросу???
простого решения в одну строчку нет, в зависмичти от ОС и браузера решение будет отличаться.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Апрель 30, 2019 11:51:19)

Офлайн

#8 Апрель 30, 2019 11:53:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

Pes
Кто-нибудь знает как в питоне можно получить список активных вкладок открытого браузера?
А можете хотя-бы приблизительно широкими мазками сказать, зачем вам это надо?



Офлайн

#9 Апрель 30, 2019 22:00:01

Pes
Зарегистрирован: 2018-06-23
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

FishHook

Ого… Вот за что я люблю этот сайт, так это за массу полезных советов и не только…))) я думаю что да, через хистори файл будет проще все это дело вытянуть))))) Спасибо всем большое))

У меня OS Windows 10, браузер Google Chrome

Сейчас работаю в техн. поддержке пользователей одного ресурса. По долгу службы приходится обрабатывать заявки пользователей в OTRS. Иногда очень срочно нужно найти определенную заявку, которая была просмотрена дня 2 назад. Найти ее можно по уникальным ключевым словам, которые отложились у меня в памяти )))
Так вот, через стандартные функции отрски этого делать не хочется… (ибо лень и не удобно, + хочется несколькими кликами найти требуемое).

Вот что я надумал.. гы:
1. через хистори файл в хроме вытащить данные посещенных страниц за два дня и сформировать определенный список. При помощи модуля “re” и стандартной функции replace() можно даже будет только отрсные ссылки вытащить (https://otrs.бла бла бла…)
2. затем пробежаться по этому списку… например через модуль request можно прочитать абсолютно все данные с определенной страницы… + меня интересует только кириллица (само обращение пользователя), поэтому много инфы обрабатывать не придется…
3. требуемое значение для поиска можно будет передать через буфер обмена, послать данные на обработку через опцию горячих клавиш (модуль keyboard)….ну а вывести данные (ссылку) можно будет в отдельном файле или тупо сразу же открывать ее в браузере через os.startfile…
Как то так… гы) на выходных надо будет замутить идейку )))


Офлайн

#10 Май 1, 2019 10:12:50

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как получить список открытых веб-страниц в браузере?

Pes
Я не понял, если это ваша техподдержка, значит заявки пользователей должны где-то храниться в доступном вам хранилище. Они же в браузер откуда-то попадают.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version