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

3

好问题。感谢提醒。但需要一些时间来准备可工作的代码片段,而不需要键盘和鼠标点击。你在你的那边尝试过什么吗?已经学习了入门指南了吗? - Vasily Ryabov
不好意思,我使用了复制和粘贴。 - Mike McHenry
这个回答解决了你的问题吗?在Python中获取Chrome标签页URL - skjerns
1个回答

3
使用inspect.exe(在入门中提到),您可以找到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

我们能否得到一个更新?在新的Chrome版本上无法工作。 - Mika C.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接