日期:2014-05-20  浏览次数:20754 次

后台自动完成设定的键盘或鼠标操作
小弟有一个工作流程是:打开一个指定网页,是一个登陆界面,输入用户名和密码,进入系统后是一个类似资源管理器一样的界面,我用鼠标点击文件名就能把相应文件下载到本地计算机。

现在我想实现一个小程序,这个程序的功能是在后台自动完成以上的步骤。如果我用VBS或者是Java的Robot类,是可以自动完成以上步骤的,但是在整个程序运行过程中必须始终保持在前台,不能操作计算机做别的事情了,比如如果我在VBS运行过程中用鼠标激活了另一个窗口,那原先设定好的操作就会作用于新激活的窗口(比如变成在新激活的窗口输入用户名和密码了),那整个VBS就完全错乱了。所以用VBS的话就不能做任何别的事了,用Java的Robot类应该也有类似的问题。小弟想请教各位高人有没有别的办法实现这个程序,让这个程序可以在后台自动完成所设定的操作,而我还能在前台做别的事情?

------解决方案--------------------
尝试使用HttpClient模拟浏览器的功能。
------解决方案--------------------
用HttpClient等开源包模拟浏览器操作
------解决方案--------------------
不清楚你企图模拟的复杂度和侧重点:
◎ 如果说只是偏重于数据提交类的内容,那么直接用HttpClient来模拟GET/POST请求就基本能解决了;
◎ 但如果说比较偏重于界面本身的操作的话,那么就要用嵌入式的Java模拟浏览器了,一般这类东西主要用于做Web页面自动化测试使用。

此外,如果目标系统存在防Bot机制的话(一般是通过复杂JS运算),用HttpClient也会很难实现。