Я хочу получить идентификатор процесса текущей активной вкладки в браузерах. Я знаю, что не все браузеры создают разные процессы для каждой вкладки, но chrome и edge делают это. Как и в диспетчере задач браузера, мы можем видеть разные PID для каждой вкладки.
Код ниже может дать мне название вкладок в браузере. Но он дает общий дескриптор и общий идентификатор для всех вкладок, который, как мне кажется, является идентификатором основного браузера. Если две вкладки имеют одинаковый заголовок, как я буду различать их? PS - Любой уникальный идентификатор, назначенный каждой вкладке, может быть полезен, например идентификатор процесса, идентификатор сеанса или что-то еще.
time.sleep(3)
i = 0
while i < 1:
hwnd = win32gui.GetForegroundWindow()
pid = win32process.GetWindowThreadProcessId(hwnd)
title = win32gui.GetWindowText(hwnd)
print(" handle : {} title: {}".format(hwnd,title))
processinfo([pid[-1]])
pr = psutil.Process(pid[-1])
children = pr.children()
for child in children:
print("Child id: {} name : {} exe: {}".format(child.pid,child.name,child.exe()))
i = i + 1
time.sleep(1)