本人想做一个自动填写表单的注册批命令。在新浪的注册页面中我想让他自动填写。前面代码如下:Dim a 
Set a=WScript.CreateObject("WScript.shell") 
a.run " http://im.sina.com.cn/reg_uc.php"
WScript.Sleep 5000 '延时,等待页面载入)
'如何激活第一个输入框呢?这是个问题a.SendKeys "duanzhang"   '输入昵称 可是打开页面后无法激活第一个昵称的输入框。我该如何修改这段代码让它更完善呢? 

解决方案 »

  1.   

    默认的焦点在地址栏,按“Tab”:
    然后在停止或者刷新,按“Tab”:
    然后在选择搜索引擎,按“Tab”:
    然后在IE的收藏夹,按“Tab”:
    然后就是整个的页面了。你必须在网页中央的空白处点击一下,这样焦点就在第一个输入框所在的Frame了。
    再按Tab就到第一个输入框了。这里难点就在 “如何用VBScript在指定的坐标点击一下了”http://msdn.microsoft.com/zh-cn/library/2x3w20xf(v=VS.85).aspx
    官方网站的SendKeys没有关于鼠标的关键字
    但是Emeditor的扩展似乎可以实现,
    http://www.emeditor.com/help/macro/shell/send_keys.htmMouse Down {BTNDOWN button, x, y} 
    Mouse Up {BTNUP button, x, y} 
    Mouse Click {CLICK button, x, y} 
    Mouse Double-click {DBLCLICK button, x, y} 
    Mouse Move To {MOVETO button, x, y} 似乎是扩展实现的。
    另外QTP和Robot也有类似的扩展。
    我建议楼主用Autoit来试试吧。
    http://www.autoitx.com/index.php
    这是个类似于Robot的开源的工具。
      

  2.   


    set oShell = wscript.createobject("wscript.shell")
    oShell.Run "http://im.sina.com.cn/reg_uc.php"
    Wscript.Sleep 5000
    oShell.AppActivate "注册UC_新浪UC_新浪网 - Windows Internet Explorer"
    oshell.SendKeys "{CLICK LEFT, 300 , 400}"
    oShell.SendKeys "{Tab}"      
    oShell.SendKeys "11"这样不行,证明不装Emeditor不行
      

  3.   

    http://hi.csdn.net/attachment/201004/18/476666_1271603860RFQj.jpg
    我拿vTask Studio实现了,傻瓜似的拖拽。
    AutoIt应该也是类似的,但是纯的VBS的实现还得再费点脑子...
      

  4.   

    1楼和4楼试着贴脚本上来吧,确实不行的。
    oShell.AppActivate "注册UC_新浪UC_新浪网 - Windows Internet Explorer"
    之后的焦点不在第一个输入框所在的Frame而在整个IE窗口,这时候你input没意义。
      

  5.   

    很多的页面都是分级别显示的,我在Robot的自动化中就用
    MouseClick来使得对象可以取得焦点...
      

  6.   

    感谢各位的耐心帮助,问题的确就是这个,你必须在网页中央的空白处点击一下,这样焦点就在第一个输入框所在的Frame了。上面的所说的插件我不知道怎么用。谁能把代码具体补充一下吗