本人想做一个自动填写表单的注册批命令。在新浪的注册页面中我想让他自动填写。前面代码如下:Dim a
Set a=WScript.CreateObject("WScript.shell")
a.run " http://im.sina.com.cn/reg_uc.php"
WScript.Sleep 5000 '延时,等待页面载入)
'如何激活第一个输入框呢?这是个问题a.SendKeys "duanzhang" '输入昵称 可是打开页面后无法激活第一个昵称的输入框。我该如何修改这段代码让它更完善呢?
Set a=WScript.CreateObject("WScript.shell")
a.run " http://im.sina.com.cn/reg_uc.php"
WScript.Sleep 5000 '延时,等待页面载入)
'如何激活第一个输入框呢?这是个问题a.SendKeys "duanzhang" '输入昵称 可是打开页面后无法激活第一个昵称的输入框。我该如何修改这段代码让它更完善呢?
然后在停止或者刷新,按“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的开源的工具。
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不行
我拿vTask Studio实现了,傻瓜似的拖拽。
AutoIt应该也是类似的,但是纯的VBS的实现还得再费点脑子...
oShell.AppActivate "注册UC_新浪UC_新浪网 - Windows Internet Explorer"
之后的焦点不在第一个输入框所在的Frame而在整个IE窗口,这时候你input没意义。
MouseClick来使得对象可以取得焦点...