autoit如何获取js动态加载的网页对象,这是个au3脚本问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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如何获取js动态加载的网页对象,这是个au3脚本问题的主要内容,如果未能解决你的问题,请参考以下文章