当前位置:编程学习 > VB >>

vbs脚本中关于激活输入框的方法

本人想做一个自动填写表单的注册批命令。在新浪的注册页面中我想让他自动填写。前面代码如下:

Dim a 
Set a=WScript.CreateObject("WScript.shell") 
a.run " http://im.sina.com.cn/reg_uc.php"
WScript.Sleep 5000 '延时,等待页面载入)
'如何激活第一个输入框呢?这是个问题。。。

a.SendKeys "duanzhang"   '输入昵称

 

可是打开页面后无法激活第一个昵称的输入框。我该如何修改这段代码让它更完善呢?

 
--------------------编程问答-------------------- sendkeys "{tab}" --------------------编程问答-------------------- 默认的焦点在地址栏,按“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.htm

Mouse 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不行 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
sendkeys "{tab}"
. --------------------编程问答-------------------- /upload/2013122122/476666_1271603860RFQj.jpg
我拿vTask Studio实现了,傻瓜似的拖拽。
AutoIt应该也是类似的,但是纯的VBS的实现还得再费点脑子... --------------------编程问答-------------------- 1楼和4楼试着贴脚本上来吧,确实不行的。
oShell.AppActivate "注册UC_新浪UC_新浪网 - Windows Internet Explorer"
之后的焦点不在第一个输入框所在的Frame而在整个IE窗口,这时候你input没意义。
--------------------编程问答-------------------- 很多的页面都是分级别显示的,我在Robot的自动化中就用
MouseClick来使得对象可以取得焦点... --------------------编程问答--------------------
引用 2 楼 crazypeter2005 的回复:
默认的焦点在地址栏,按“Tab”:
然后在停止或者刷新,按“Tab”:
然后在选择搜索引擎,按“Tab”:
然后在IE的收藏夹,按“Tab”:
然后就是整个的页面了。

你必须在网页中央的空白处点击一下,这样焦点就在第一个输入框所在的Frame了。
再按Tab就到第一个输入框了。

这里难点就在 “如何用VBScript在指定的坐标点击一下了”

http://msdn.mi……

感谢各位的耐心帮助,问题的确就是这个,你必须在网页中央的空白处点击一下,这样焦点就在第一个输入框所在的Frame了。上面的所说的插件我不知道怎么用。谁能把代码具体补充一下吗 --------------------编程问答--------------------
引用 5 楼 crazypeter2005 的回复:
/upload/2013122122/476666_1271603860RFQj.jpg
我拿vTask Studio实现了,傻瓜似的拖拽。
AutoIt应该也是类似的,但是纯的VBS的实现还得再费点脑子...

楼上的工具不错,请问有免费的激活码吗? --------------------编程问答-------------------- 地址给你了,给分吧...
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,