autoit 如何定位到软件界面的某一行

autoit 如何定位到软件界面的某一行,第1张

请使用AutoIt自带的窗口信息工具来识别对应的控件

如果能正确识别控件信息,那就很好办。用ControlClick函数即可点击。

但看样子,这不是标准Windows窗体和控件。所以,在万不得已的情况下,只能考虑使用相对坐标方式,即通过你要点击的位置相对于程序窗口左上角的相对坐标位移,使用MouseClick函数进行点击。

相对坐标一般不会随窗体的放大或缩小而变化。准确的相对坐标需要通过MouseMove函数不断尝试演练得出。

对于自己创建的控件,一般都用GUICtrlSetData而不太用ControlSetText。

我这里测试不是每次都闪烁的啊,只是偶尔会闪 (AutoIt版本: 33715,Win7 64bit下测试)。

你用 _GUICtrlTab_SetItemText 试试,貌似看上去好些,需要 #include <GuiTabau3>。

#include <GUIConstantsExau3>

#include <GuiTabau3>

Example()

Func Example()

Local $msg

GUICreate("My GUI Tab")

$tab = GUICtrlCreateTab(10, 10, 200, 100)

$btn = GUICtrlCreateButton("tab1 - pass", 20, 156, 100, 30)

GUISetState()

$tab0 = _GUICtrlTab_InsertItem($tab, 0, "tab0")

$tab1 = _GUICtrlTab_InsertItem($tab, 1, "tab1")

While 1

$msg = GUIGetMsg()

If $msg = $GUI_EVENT_CLOSE Then ExitLoop

If $msg = $btn Then

If GUICtrlRead($btn) == "tab1 - pass" Then

GUICtrlSetData($btn, "tab1 - fail")

_GUICtrlTab_SetItemText($tab, 1, "Pass")

Else

GUICtrlSetData($btn, "tab1 - pass")

_GUICtrlTab_SetItemText($tab, 1, "Fail")

EndIf

EndIf

WEnd

EndFunc   ;==>Example

$myFile = 'D:\testtxt'

$lineNum = Random(1, 100, 1)

ClipPut( FileReadLine($myFile, $lineNum) )

一、编辑器SciTE Script Editor:

WinActivate("打开"); //聚焦到指定活动窗口

ControlFocus ( "打开", "", "ComboBox1"); //设置输入焦点到指定窗口的某个控件上

ControlSetText("打开", "", "Edit1", "C:\Users\vsc\Desktop\user\DDautoDOCX" ); //修改指定控件的文本改路径;

Sleep(500);

ControlClick("打开", "打开", "Button1");

Sleep(5000);

二、pycharm批量上传文件

把要上传的编号,如:0png , 1png, 2png这种(从0开始编号),放到同一目录下,然后for循环

for i in range(4):

file_name = "D:\%spng" % i # 参数化路径名称

# 执行autoit上传文件

ossystem("C:\Users\autoitexe) # 你自己本地的exe路径

三、autoit几个常用的语法

WinActivate("title") 聚焦到指定活动窗口

ControlFocus ( "title", "窗口文本", controlID) 设置输入焦点到指定窗口的某个控件上;

WinWait ( "title" , "窗口文本" , 超时时间 ) 暂停脚本的执行直至指定窗口存在(出现)为止;

ControlSetText ( "title", "窗口文本", controlID, "新文本" ) 修改指定控件的文本;

Sleep ( 延迟 ) 使脚本暂停指定时间,单位是毫秒;

ControlClick ( "title", "窗口文本", 控件ID , 按钮 , 点击次数 ) 向指定控件发送鼠标点击命令;

应该说Autoit提供的功能还是很强大的,并不单纯是简单的鼠标和键盘函数,Autoit有一个可以称之为庞大的函数库,这个函数库除了软件自带的函数库之外,还有由Autoit爱好者不断更新的用户自定义函数库。

例如,读取网页文字,就可以通过用户函数库中的IE函数库包来进行处理。如:

_IEDocReadHTML:返回整个文档的HTML源代码

_IEBodyReadText:返回网页中标记中的文本

_IEImgClick:模拟鼠标点击网页上某一个图像,可以通过文本、名称进行定位匹配

等等。

以上就是关于autoit 如何定位到软件界面的某一行全部的内容,包括:autoit 如何定位到软件界面的某一行、autoit的标签控件,用GUICtrlSetData(),更新文本时有闪烁,怎么办AU3、autoit 随机读取文本某行内容,并复制到剪切板。或者填写到指定地点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9762261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存