标题: [问题求助] VBS自动登录脚本为何无法获取这个网页元素其他网页基本可以? [打印本页]
作者: wszhov 时间: 2012-1-25 20:21 标题: VBS自动登录脚本为何无法获取这个网页元素其他网页基本可以?
新手,自己做了个自动登录网页的脚本,但调试总是错误
用的是document.getElementById方法,页面上有这个元素id,但用document.getElementById获取时,总是提示 缺少对象getElementById(...).
而在百度等其他网站没问题.都能用document.getElementById方法填写用户民和密码,百度没问题.所以不要说我是脚本写错了,
- Dim Ie,obj,weizhi
- weizhi="F:\win7库\文档\中国移动 Wlan.htm"
- Set Ie =WScript.CreateObject("internetexplorer.application")
- ie.navigate "file:///"&weizhi
- WScript.sleep 1000
- Do While ie.busy Or ie.readystate <> 4 '这就是判断是否完全打开
- Loop
-
- Set obj = ie.document
- WScript.sleep 2000
- obj.getElementByid("staticusername").value=11111111111 '移动用户名
- '就这吧,试了用all也不行
- For i=0 To obj.all.length-1
- If obj.all(i).id="staticusername" Then
- MsgBox "有"
- End If
- Next
- MsgBox "结束"
复制代码
这个网站比较特殊,求高手啊,我把网页文件上传到附件了,还请高手告诉原因
作者: Demon 时间: 2012-1-25 20:45
既然你的脚本没有写错,那你还问什么
作者: powerbat 时间: 2012-1-25 23:38
id="staticusernameid"
作者: wszhov 时间: 2012-1-26 23:47
回复 2# Demon
不是啊,我的意思这个网站怎样才能用vbs填写表单啊,那个方法有些问题
作者: wszhov 时间: 2012-1-26 23:49
回复 3# powerbat
呵呵,试过了,没用,刚发现代码没改过来的一个小问题,现在改过来(name改为了id,写上去的时候没注意),不过依然不行
作者: samsinn 时间: 2012-1-28 22:34
本帖最后由 samsinn 于 2012-1-28 22:54 编辑
回复 5# wszhov - obj.getElementByid("staticusername").value=11111111111 '静态密码登录的用户名
- obj.getElementById("staticpassword").value="xxx" '必须写上双引号
- obj.getElementByid("autousername").value=22222 ‘动态密码登录的用户名
复制代码
我在电脑上测试是没有问题的呀,用你的VBS脚本是可以自动填表单的,我的IE版本是8
另外你的代码没有加上属性设置ie.Visible=1,能看的到IE打开吗?
作者: wszhov 时间: 2012-1-29 20:29
本帖最后由 wszhov 于 2012-1-29 20:41 编辑
回复 6# samsinn
我是遨游,能打开,你的没问题,用ie9我没打开,用ie打开时看不到的,还有那段打开的是input.htm,没问题,但打开中国移动 **.htm那个文件是不行的
作者: powerbat 时间: 2012-1-29 21:28
同学,这才是关键!我就猜到是这样。我心想:看你什么时候老实交待。。
那个网页是frame结构的- frames(0).document.getElementById("staticusernameid").value="111111"
复制代码
作者: wszhov 时间: 2012-1-31 17:43
回复 8# powerbat
呵呵,是这样的,我学过网页方制作,但也是设计,代码蛮少,入个门.
我把你的代码加进去,提示error:类型不匹配:'frames' ,问下这是怎么用的?
作者: powerbat 时间: 2012-1-31 19:14
ie.document.frames(0)……
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |