快手软件

网页自动填表、自动登录模拟操作代码汇总

一、创建简单的WEB窗口(winform)
web.form是一个类,其构造函数可以在现有窗口对象中插入浏览器控件.
窗口对象可以是一个win.form对象,也可以是窗体上的控件,例如static控件.

现版默认代码:
//创建web窗体
var wb = web.form( winform 
    ,//可输入_UIFLAG_ 前缀的常量自定义外观
    ,//可输入_DLCTL_ 前缀的常量以控制下载行为
    );

第二个参数可以使用一个或多个_UIFLAG_ 前缀的常量自定义外观,多个常量之间用位或操作符( | ) 连接.
第三个参数可使用_DLCTL_前缀的常量以控制下载行为,多个常量之间用位或操作符( | ) 连接.
具体参数参阅帮助

旧版默认代码:
//创建web窗体
var wb = web.form(winform.static,web/*无边框*/ /*,web.DLCTL_NO_SCRIPTS禁用脚本*/ )


//创建web窗体(没最大小化按钮)
wb = web.form(webform)

例:在static控件显示WEB窗体浏览
//创建web窗体
var wb = web.form( winform.static //这是winform窗体上的一个静态文本框控件 
    ,0x4/*_UIFLAG_NO3DBORDER*/ | 0x8/*_UIFLAG_SCROLL_NO*/ //禁用边框,禁用滚动条
    ,0x10/*_DLCTL_DLIMAGES*/ | 0x40000000/*_DLCTL_SILENT*/ //允许下载图片,但是禁用组件对话框、脚本错误对话框等
    );



*让自己的程序窗口最大化最小化,其他程序可加上窗口句柄。
::ShowWindow(winform.hwnd,0x3/*_SW_MAXIMIZE*/)//最大化
::ShowWindow(winform.hwnd,0x6/*_SW_MINIMIZE*/)//最小化

       关于最大化,最小化,winform已经提供了很多函数来支持。
//点击最大化,但是这个函数如果发现最大化会还原窗口,并返回一个值表示当前是否最大化
winform.hitmax()

//点击最小化按钮
winform.hitmin()

//这个是最大化,并且显示,多了一个显示的步骤
winform.show(0x3/*_SW_MAXIMIZE*/)

//这个是最小化,并显示
winform.show(0x6/*_SW_MINIMIZE*/)

*禁止点击链接在新窗口打开

a.
//在wb.wait()后 添加下面代码,在所属的窗口禁止弹出
for(k,ele in wb.eachLinks()){
    

    ele.target = "_self"
}


 
b. 写在事件里,这样每次打开页面就自动修改,不需要写在wb.wait后面了.全局开始禁止弹出窗口
wb.DocumentComplete=function( pDisp, url) {
    /*当整个文档完成时触发,刷新页面不触发*/
    for(k,ele in wb.eachLinks()){ 
        ele.target = "_self"
    }
} 

//打开目标网站
wb.go("http://www.ecranesoft.com/")


//打开一个网址
wb.go(网址,自定义http请求头,目标窗口="_self")


二、自动模拟登录
1.自动填表
(1)简单,没框架
/*寻找所属节点的属性,然后输入新的属性值
当知道属性ID或NAME时可采用下面语句*/
ele=wb.waitEle("_"//双引号里填属性ID或name)
ele.value = _//修改属性默认值;
ele.fireEvent("_"//当有事件执行函数时需事件发生器,如onchange onsubit)

说明:
ele = wb.getEle( HTML节点的ID名name, 框架名 ) 
调用wb.getEle之前必须调用 wb.wait() 等待网页下载完毕. 
而使用 wb.waitEle() 则实现等待该节点下载并返回该节点的功能,而无须等待整个网页下载完.

(2)多个属性名相同
tele = wb.getEles( HTML节点的name属性, 框架名 )
tele(1).setAttribute("属性名字", "修改第一个节点属性值")
该函数返回网页上所有name属性相同的同名节点.返回值为一个com数组.注意com数组使用()括号读取成员而不是使用索引操作符[]
可以通过第二个参数指定框架窗口,该参数可以省略.



2.自动点击及提交表单
ele.form.submit()//自动提交表单


for(k,ele in wb.eachAll( "button") ){

ele.click();


};



    .

posted on 2010-10-08 02:27  快手软件  阅读(2864)  评论(0编辑  收藏  举报

导航