如何使用pywinauto 0.6从Chrome获取当前网址

时间:2017-09-10 20:29:17

标签: google-chrome url pywinauto

在这个问题How can I get a url from Chrome by Python?中,提出你可以在pywinauto 0.6中从python中获取url。怎么做?

1 个答案:

答案 0 :(得分:3)

使用inspect.exe(Getting Started中提到),您可以找到Chrome的地址栏元素,其参数“value”包含当前网址。

我找到了两种获取此网址的方法:

from __future__ import print_function
from pywinauto import Desktop

chrome_window = Desktop(backend="uia").window(class_name_re='Chrome')
address_bar_wrapper = chrome_window['Google Chrome'].main.Edit.wrapper_object()

这是第一种方式:

url_1 = address_bar_wrapper.legacy_properties()['Value']

这是第二个:

url_2 = address_bar_wrapper.iface_value.CurrentValue

print(url_1)
print(url_2)

此外,如果协议为“http”,则Chrome会删除“http://”前缀。你可以添加像:

def format_url(url):
    if url and not url.startswith("https://"): 
        return "http://" + url
    return url