用Autoit编程软件,如何读取屏幕上的信息?Autoit高手进!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Autoit编程软件,如何读取屏幕上的信息?Autoit高手进!相关的知识,希望对你有一定的参考价值。
急需各位Autoit高手帮忙,
本人想学一个类似批处理文件,但比它更强悍的编程语言
于是就看上了Autoit,这个软件的控制功能真牛叉,调用鼠标和键盘的函数非常实用
但是,我对它的读取功能表示怀疑。难道Autoit只能读取文件内容么?
因为用Autoit写程序有时会遇到多种情况,就需要读取屏幕上的内容分情况处理(例如读取被打开网页中的文字)
有什么函数能用来做这个的么?
实在不行,但是读取网页信息就行了,
还是不行的话,谁帮忙给个当前网页的内存地址也行...
例如,读取网页文字,就可以通过用户函数库中的IE函数库包来进行处理。如:
_IEDocReadhtml:返回整个文档的HTML源代码.
_IEBodyReadText:返回网页中标记中的文本.
_IEImgClick:模拟鼠标点击网页上某一个图像,可以通过文本、名称进行定位匹配.
等等。 参考技术A 打开帮助,User Defined Function 中的Ie Management里的函数可以与IE内核浏览器交互。
比如,你不要关闭这个页面,运行下面的代码看看:
#include <IE.au3>
$oIE = _IEAttach ("用Autoit编程软件,如何读取屏幕上的信息?")
$sText = _IEBodyReadText ($oIE)
MsgBox(0, _IEPropertyGet ($oIE, "locationurl"), $sText)
autoit如何获取js动态加载的网页对象,这是个au3脚本问题
有一个网页用类似框架的结构分成了左右两部分,左边是菜单树 ,右边是具体内容网页。点击菜单树,就在右边动态加载相应的网页。该网页是完整的html文档。
现在的问题是,我用 winwait("标题") 得到该窗口的句柄后,如何获取新加载的网页上的元素。比如按钮等 。
要看你打开的是什么网页。因为没个网页定义的 输入框的ID是不同的。下面给你一串自动登录163邮箱和yahoo邮箱的vbs代码,两个网址的输入框的ID就不一样,所以要因网页而定;而输入框的ID是需要用浏览器打开该网址,然后邮件打开source选项,在里面可以查看各个ID,包括登录按钮的ID等。需要au3是可以直接改的,有问题可以追问,希望对你有帮助!
MailAutoLogin "Yahoo"
'引号内表示登录邮箱名字,"163"是163邮箱 "Yahoo"是雅虎邮箱
Function MailAutoLogin(Choose)
Dim URL1:URL1 = "http://mail.163.com/"
Dim URLy:URLy = "http://cn.mail.yahoo.com/"
Dim MailLable,PassWordLable,LoginBotten,MailID,PassWd
Set ie = CreateObject("InternetExplorer.Application")
ie.visible = True
If Choose = "163" Then
URL = URL1
MailID = "123456789" '163邮箱账号
PassWd = "123456789" '163邮箱密码
MailLable = "idInput"
PassWordLable = "pwdInput"
LoginBotten = "LoginBtn"
ElseIf Choose = "Yahoo" Then
URL = URLy
MailID = "123456789" 'Yahoo邮箱账号,注意:需要输入完整地址
PassWd = "123456789" 'Yahoo邮箱密码
MailLable = "emailinput"
PassWordLable = "passinput"
LoginBotten = "submit"
End If
ie.navigate URL
While ie.busy Or ie.readystate <> 4
Wend
if ie.document.getElementById(MailLable).value = MailID Then
Else
ie.document.getElementById(MailLable).value = ""
ie.document.getElementById(MailLable).value = MailID
End If
ie.document.getElementById(PassWordLable).value = PassWd
wscript.sleep 500
ie.document.getElementById(LoginBotten ).click
End Function 参考技术A 你可以用网页快捕试试
具体可以去这里下载http://www.autoitx.com/viewthread.php?tid=29196&highlight=%CD%F8%D2%B3%BF%EC%B2%B6
ps:au3问题还是去www.autoitx.com提问吧,那里是au3学者聚集的地方
以上是关于用Autoit编程软件,如何读取屏幕上的信息?Autoit高手进!的主要内容,如果未能解决你的问题,请参考以下文章