UI自动化:如何从这个文本框中获取值?

问题描述 投票:0回答:1

我一直在搞 UI 自动化,但似乎没有取得任何进展。 我正在寻找这个

Edit
控制值。使用 UI Viewer 实用程序我可以获得它的值:

但实际上在脚本中执行此操作已被证明是令人沮丧的。 Descolada 的文档非常棒,我想我只是在某个地方搞砸了。这是我所拥有的:

UIA := UIA_Interface()                                                                          
PDFXEdit := UIA.ElementFromHandle("ahk_exe PDFXEdit.exe") 
documentEl := PDFXEdit.FindFirst("Name=Page")
documentEl.Highlight() 

但是什么也没发生。我尝试过 VSCode 的调试功能来查看其中存储的内容。

PDFXEdit
似乎是
UIA
的副本,
documentEl
只是一个空字符串:

如果有任何帮助,我将不胜感激。

autohotkey
1个回答
0
投票

试试这个(将 WINDOWID 替换为窗口的自动化 ID):

UIA := UIA_Interface() ;初始化UIA接口 PDFXEditClass := UIA.GetRootElement().FindFirstBy("automationId=WINDOWID").ClassName PDFXEdit := UIA.ElementFromHandle("AHK_class " PDFXEditClass)

documentEL1 := PDFXEdit.FindFirstBy("ControlType=编辑 AND Name='Page' AND AutomationId='cmd.view.PageNumber@'").Value

然后 documentEL1 被设置为具有值的变量。

© www.soinside.com 2019 - 2024. All rights reserved.