首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在获取窗口url,但遇到错误: LookupError:查找控件超时:{ControlType: EditControl}

正在获取窗口url,但遇到错误: LookupError:查找控件超时:{ControlType: EditControl}
EN

Stack Overflow用户
提问于 2020-06-25 20:11:45
回答 1查看 184关注 0票数 2

我正在尝试使用Python获取当前窗口的url (如果有焦点导航器的话),但我无法获取,它显示错误。

有人能指导我吗,我是python的新手(我是Java开发人员)。

代码语言:javascript
运行
复制
import time
import win32gui
import uiautomation as auto

_active_window_name = None

while True:
    window = win32gui.GetForegroundWindow()
    chromeControl = auto.ControlFromHandle(window)
    edit = chromeControl.EditControl()

    #print(dir(chromeControl.EditControl()))
    print(edit.GetValuePattern().Value)

    time.sleep(5)
EN

回答 1

Stack Overflow用户

发布于 2021-07-17 03:31:50

试试这个(实际上不需要win32gui):

代码语言:javascript
运行
复制
import uiautomation as auto


control = auto.GetFocusedControl()
controlList = []
while control:
    controlList.insert(0, control)
    control = control.GetParentControl()
    
control = controlList[0 if len(controlList) == 1 else 1]
    
address_control = auto.FindControl(control, lambda c, d: 
                                            isinstance(c, auto.EditControl))

print('Current URL:')
print(address_control.GetValuePattern().Value)

然后,还可以为OmniBox设置一些新值:

代码语言:javascript
运行
复制
address_control.GetValuePattern().SetValue('http://some_url')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62575044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档