Почему браузер зависает при использовании pywinauto - PullRequest
0 голосов
/ 22 апреля 2020

Моя программа отслеживает URL, открытый в текущей вкладке браузера. Я использую Pywinauto для этого. Есть проблема: интерфейс браузера зависает при работе программы (зависает на 1-2 секунды при прокрутке, перемещается окно и т. Д. c). Лаги есть только в браузере (другие программы работают нормально), и у меня нет библиотек или самодельных кодов, работающих с браузером, кроме pywinauto. Эта проблема появляется не только на моей машине. Есть код, который использует pywinauto:

def get_browser(client):
if client == 'opera':
    app = Application(backend='uia')
    app.connect(title_re=".*Opera.*", visible_only=True)
    dlg = app.top_window()
    bar = dlg.child_window(title="Поле адреса", control_type="Edit")
    return bar
elif client == 'chrome':
    app = Application(backend='uia')
    app.connect(title_re=".*Google Chrome.*", visible_only=True)
    dlg = app.top_window()
    bar = dlg.child_window(title="Адресная строка и строка поиска", control_type="Edit")
    return bar
else:
    return None

def get_url(bar, client):
try:
    url = bar.get_value()
    return url
except Exception as e:
    print(e)
    return None

Можно ли это исправить или есть какие-то другие правильные способы получения URL из браузера с помощью python? Также он должен работать после создания exe с помощью cx_freeze

...