[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] VBS自动登录脚本为何无法获取这个网页元素其他网页基本可以?

新手,自己做了个自动登录网页的脚本,但调试总是错误
用的是document.getElementById方法,页面上有这个元素id,但用document.getElementById获取时,总是提示 缺少对象getElementById(...).
而在百度等其他网站没问题.都能用document.getElementById方法填写用户民和密码,百度没问题.所以不要说我是脚本写错了,
  1. Dim Ie,obj,weizhi
  2. weizhi="F:\win7库\文档\中国移动 Wlan.htm"
  3. Set Ie =WScript.CreateObject("internetexplorer.application")
  4. ie.navigate "file:///"&weizhi
  5. WScript.sleep 1000
  6. Do While ie.busy Or ie.readystate <> 4 '这就是判断是否完全打开
  7. Loop
  8. Set obj = ie.document
  9. WScript.sleep 2000
  10. obj.getElementByid("staticusername").value=11111111111 '移动用户名
  11. '就这吧,试了用all也不行
  12. For i=0 To obj.all.length-1
  13. If obj.all(i).id="staticusername" Then
  14. MsgBox "有"
  15. End If
  16. Next
  17. MsgBox "结束"
复制代码


这个网站比较特殊,求高手啊,我把网页文件上传到附件了,还请高手告诉原因

既然你的脚本没有写错,那你还问什么

TOP

id="staticusernameid"

TOP

回复 2# Demon
不是啊,我的意思这个网站怎样才能用vbs填写表单啊,那个方法有些问题

TOP

回复 3# powerbat

呵呵,试过了,没用,刚发现代码没改过来的一个小问题,现在改过来(name改为了id,写上去的时候没注意),不过依然不行

TOP

本帖最后由 samsinn 于 2012-1-28 22:54 编辑

回复 5# wszhov
  1. obj.getElementByid("staticusername").value=11111111111 '静态密码登录的用户名
  2. obj.getElementById("staticpassword").value="xxx"   '必须写上双引号
  3. obj.getElementByid("autousername").value=22222  ‘动态密码登录的用户名
复制代码
我在电脑上测试是没有问题的呀,用你的VBS脚本是可以自动填表单的,我的IE版本是8
另外你的代码没有加上属性设置ie.Visible=1,能看的到IE打开吗?

TOP

本帖最后由 wszhov 于 2012-1-29 20:41 编辑

回复 6# samsinn
我是遨游,能打开,你的没问题,用ie9我没打开,用ie打开时看不到的,还有那段打开的是input.htm,没问题,但打开中国移动 **.htm那个文件是不行的

TOP

但打开中国移动 **.htm那个文件是不行的

同学,这才是关键!我就猜到是这样。我心想:看你什么时候老实交待。。
那个网页是frame结构的
  1. frames(0).document.getElementById("staticusernameid").value="111111"
复制代码

TOP

回复 8# powerbat

呵呵,是这样的,我学过网页方制作,但也是设计,代码蛮少,入个门.
我把你的代码加进去,提示error:类型不匹配:'frames'  ,问下这是怎么用的?

TOP

ie.document.frames(0)……

TOP

返回列表