【问题标题】:AutoIt: Click an Control without IDAutoIt:单击没有 ID 的控件
【发布时间】:2017-03-13 13:53:09
【问题描述】:

这是我的第一个问题。我尝试了大约 2 小时。 我必须编译一个 AutoIt 可执行文件,它将在计算机上安装 Xampp。 这是我到目前为止所做的:

#RequireAdmin
; Script Start
Opt("WinTitleMatchMode", 4)
run ("xampp-win32-7.1.1-0-VC14-installer.exe")
WinWait ("Datei öffnen - Sicherheitswarnung")
ControlClick( "Datei öffnen - Sicherheitswarnung","A&usführen","Button" )
Sleep ( 5 )
; /\ Windows Security Question /\ (Everything Fine in here)
WinWait ("Question")
WinActivate ("Question")
ControlClick("Question","", "[CLASS:QWidget; INSTANCE:3]") <--- AutoIt just wont hit this Button(Actually a Qwidget)
; /\ XAMPP Anti-Virus Question /\

如您所见,我试图左键单击 qwidget,但它不会这样做。我尝试了一些原始方法,就像在窗口被激活后立即发送一个 Enter 一样,但它也不起作用。

我会使用 ID 或更精确的东西,但 WindowInfo 没有得到任何 Button(act.QWidget) ID

以下是我要单击的按钮的摘要:

>>>> Window <<<<
Title:  Question
Class:  QWidget
Position:   1427, 405
Size:   506, 170
Style:  0x96C80000
ExStyle:    0x00000104
Handle: 0x0000000000590476

>>>> Control <<<<
Class:  QWidget
Instance:   3
ClassnameNN:    QWidget3
Name:   
Advanced (Class):   [CLASS:QWidget; INSTANCE:3]
ID: 
Text:   
Position:   170, 107
Size:   77, 26
ControlClick Coords:    35, 17
Style:  0x56000000
ExStyle:    0x00000004
Handle: 0x00000000008225C2

>>>> Mouse <<<<
Position:   1635, 552
Cursor ID:  0
Color:  0xD4D0C8

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
qt_msgbox_buttonbox
qt_msgbox_label
qt_msgboxex_icon_label


>>>> Hidden Text <<<<

我只想单击按钮,我认为使用“高级(类)”值会有所帮助,因为它是一个精确的定义,但我没有。

PS:我知道这段代码看起来有点残忍,但我的首要任务是制作一个运行脚本(不知何故),所以我可能会接受任何不包括“Alt+F4”或“砸我的电脑”的想法

提前致谢并致以最诚挚的问候!

【问题讨论】:

  • 您不需要自动执行此操作。改用无人值守标志:xampp-win32-7.1.1-0-VC14-installer.exe --mode unattended
  • 我完全同意。只要您可以选择使用静默安装,请使用它。

标签: windows autoit


【解决方案1】:

您可能必须使用相对坐标作为偏移量: 示例:

ControlClick("Title","","[CLASS:QWidget; INSTANCE:3]", "", 1, 35, 17)

它找到 [CLASS:QWidget; INSTANCE:3] 对象并单击坐标 35,17 (ControlClick Coords: 35, 17) 以单击该对象内的按钮。

我也有类似的情况。不是最好的解决方案,但它对我有用。试试看吧。

【讨论】:

    猜你喜欢
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2013-01-24
    • 2021-09-16
    • 2023-02-24
    • 2016-04-05
    相关资源
    最近更新 更多