aardio窗体相关

import win.ui.minmax;

win.ui.minmax(winform)

winform.hitmax() 最大化,默认最大化就会还原

winform.close() 关闭窗口

一、创建简单的WEB窗口(winform)
1.1点击新建WEB窗体即可创建WEB浏览器,默认代码如下:

//创建web窗体

var wb = web.form( winform

,//可输入_UIFLAG_ 前缀的常量自定义外观

,//可输入_DLCTL_ 前缀的常量以控制下载行为

,//"USER
AGENT"

);

第二个参数可以使用一个或多个_UIFLAG_
前缀的常量自定义外观,多个常量之间用位或操作符( | ) 连接.
第三个参数可使用_DLCTL_前缀的常量以控制下载行为,多个常量之间用位或操作符( |
) 连接.
第四个参数USER
AGENT(新版新添加还没知道用法请老大指导)

较常用第三个参数,控制下载行为,具体参数可参考帮助文档

常用有

_DLCTL_DOWNLOADONLY 下载图片,但不显示
_DLCTL_NO_FRAMEDOWNLOAD web窗体对包含框架的页面进行语法分析但不下载任何帧, 同时忽略框架,
_DLCTL_RESYNCHRONIZE 忽略缓存中的数据并向服务器请求更新
_DLCTL_SILENT 组件对话框、脚本错误对话框静默模式
_DLCTL_NOFRAMES 禁止框架

1.2常用WEB窗体特殊设置
1).  禁止所有脚本错误对话框,并使脚本继续运行。
与wb.silent不同,wb.noScriptErr仅对脚本错误对话框起作用,并且不会阻止脚本执行.

wb.noScriptErr = true

2.)不显示网页JS弹出的【确定】窗口

wb.showMsg=function( 提示信息, 对话框标题 ){
    return false;/*返回false则不显示对话框*/
}

如想显示【确定】窗口并自动点击后消失则如下:

wb.showMsg=function(text/*信息*/,caption/*标题*/){

closeDlg_t = function(title) {
                import winex;
      
 
                //查找符合标题的对话框
               
var hwnd; 
                do{
                        hwnd =
winex.find("#32770"/*标准对话框类名*/,title )
          
             sleep(100)
                }while( !hwnd ) 
             
  
                //查找对话框上的第一个按钮
             
  var hbuttton = winex.findEx(hwnd,1,"Button");
               
winex.click(hbuttton);
                
        }
      
 thread.create(closeDlg_t,caption/*传递参数给线程*/ )
 
      
        
        return true; /*返回false则不显示对话框*/
}

(更多资料详见帮助WEB窗体事件说明)

1.3 WEB窗体最大化、最小化

//点击最大化,但是这个函数如果发现最大化会还原窗口,并返回一个值表示当前是否最大化
winform.hitmax()

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

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

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

1.4禁止点击链接在新窗口打开
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/")

C

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

D

wb.NewWindow2=function( ppDisp, Cancel) {
    /*弹出新窗口以前触发
*/ 
    owner.go( owner.translateUrl )
 
  return ppDisp, true; /*第二个返回值如果为真,则取消新窗口*/  
}

E

wb.translate = function( url ){
    /*解析URL时触发 */
    owner.translateUrl =
url; 
}

1.5在控件显示WEB窗体
web.form是一个类,其构造函数可以在现有窗口对象中插入浏览器控件.窗口对象可以是一个win.form对象,也可以是窗体上的控件,例如static控件.

如:在static控件显示WEB窗体浏览

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

还可添加多控件显示多个WEB网页

二、自动填表、自动登录(提交)代码
2.1 自动填表(有NAME或ID)
A
简单 ,没框架,只有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()
则实现等待该节点下载并返回该节点的功能,而无须等待整个网页下载完*/

B 多个属性名相同

tele = wb.getEles( HTML节点的name属性, 框架名
)
tele(0).setAttribute("属性名字",
"修改第一个节点属性值")

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

2.2 自动登录或提交表单

ele.form.submit()//自动提交表单

2.3 特殊形式提交(无NAME无ID)
采用wb.eachAll 遍历方法查找节点,并使用ele.click()模拟点击

//遍历所有input节点
for(
i,ele in wb.eachAll("input") ){
 
  if( ele.属性
== "_"//当找到所属的属性恒等于一个“点击链接的值” )  
      
 ele.click();//然后点击
}

遇到特殊形式,采用遍历查找是最简单的方法。

更多的自动登录示例可查看旧论坛的帖子,里面汇总了各种形式的登录示范,还有POST登录方法。
163邮箱登录问题(carl版主指导163填表及登录)
登录问题(帖子有老大指导多种方法自动登录)

AAuto 网页操作专题视频(lujjh超版制作的经典视频教程)
取得指定网页节点的方法归纳 (模拟点击必须掌握的知识)

2.4 自动点击网页超链接

也采用遍历查找超链接,然后自动点击,老大教我们封装了一个点击超链接函数clickLink()

clickLink = function(title){//给函数一个连接名参数
    for(k,ele in wb.eachLinks() ){//遍历所有超链接
        if(string.find(ele.innerHTML,title
)){//如果发现超链接名
          ele.click();//自动点击
          break;
    
 }
  } 
}

//当链接名为A,则执行点击
clickLink("A")

来源: <http://bbs.aau.cn/forum.php?mod=viewthread&action=printable&tid=191>

时间: 2024-10-10 17:12:22

aardio窗体相关的相关文章

BOM 窗体相关属性以及页面可见区域的获取方式

1 在IE Safari Oper Chrome 都提供了screenLeft和screenTop属性: screenLeft : 相对于屏幕左边的距离 screenTop : 相对于屏幕上边的距离 Firefox则在 screenX, screenY属性中提供形同的窗口位置信息,Safari,Chrome同样也支持这两个属性.Oper虽然支持但是两个属性表现不一致, 尽量避免在Oper中使用screenTop和screentLeft 兼容各种浏览器可以使用这种方式: var leftPos =

AIR窗体相关

AIR基本功能:1.窗体  2.文件  3.程序 1.窗体  (starling stage (新版本,starling): stage.stage(传统的)在上,starling stage在下,这是两个不同的显示列表) 窗体:stage.nativeWindow ; stage:stage.nativeWindow.stage var windowstest:nativeWindow = stage.nativeWindow; active:Boolean(窗口是否活动) closed:Bo

C# 窗体相关知识

1.固定窗体大小,并不能最大/最小化: FormBorderStyle属性设置为:FixedSingleMaximizeBox = falseMinimizeBox = false都是在Form属性里面的 2.ComboBox清除数据 如果是绑定获得的数据,可以设置ComboBox.DataSource为null即可.如果一条条加载的话,可以用ComboBox.Items.Clear(); 3.获取datareader中的内容 SqlDataReaderdr = cmd.Execute Read

EXTJS 4.2 资料 控件之Window窗体相关属性的用法

最大化,最小化,是否显示关闭按钮 var win_CommonPicLibMultiple = Ext.create("Ext.window.Window", { title: "选择图片", //标题 draggable: false, border: false, icon: '/Resources/Images/16x16/blue16_005.gif', height: 800, //高度 width: 1200, //宽度 layout: "fi

窗体和线程漫谈之工作线程怎样将数据的处理结果显示到窗体

前言 原本这篇博客的标题叫<窗体和线程漫谈>,但想来想去确实不太合适.由于我确实没有写关于窗体和线程的不论什么理论知识,而仅仅是探讨了工作线程怎样将数据的处理结果显示到窗体这个问题,因此又一次改动标题. 另外,关于窗体和线程的相关理论知识.感觉一两句话确实说不清楚,并且<Windows 核心编程>这本书上介绍的也挺好的.有机会再写吧.特别是感觉如今好多人都直接在学 MFC,用 MFC.甚至连窗体过程,消息循环都不太明确,假设能有这样一篇博客也是非常有价值的. 为什么要讨论这个问题

当应用程序不是以UserInteractive 模式运行时显示模式对话框或窗体

最近在做一个WCF程序的时候,WCF程序老是弹出一个错误“当应用程序不是以UserInteractive 模式运行时显示模式对话框或窗体是无效操作.请指定ServiceNotification或DefaultDesktopOnly样式,以显示服务应用程序发出的通知”这个错误的警告,后来通过try catch语句来捕获到了这个错误,并找到了一些提示信息. 很可能由 IncludeExceptionDetailInFaults=true 创建的 ExceptionDetail,其值为:System.

第二章:创建框架和窗体

没有翻译第一章是由于第一章仅仅介绍了怎样设置IDE.这方面网上文章非常多,我就没有翻译,直接从第二章開始. 以下是原文链接.翻译有不正确的地方请朋友们指正. http://www.rastertek.com/gl40tut02.html Tutorial 2: Creating a Framework and Window This OpenGL 4.0 tutorial will cover setting up a basic frame work and window. 这一章涵盖了创建基

Visual Studio VS如何拷贝一个项目的窗体文件到另一个项目

1 比如下我有一个项目,我要把这个Config整个窗体和代码拷贝到另一个项目 ? 2 在新项目中添加现有项,然后把这个窗体相关的三个文件都添加到新的项目中 ? 3 然后在新窗体中就什么都有了 ? ? ? ?

Winform窗体

窗体是winform开发的基础,需要掌握窗体的创建.属性.调用和窗体传值等等. 1.在项目中添加窗体很简单,在项目上点击右键,选择添加windows窗体即可为项目添加新的窗体. 2.窗体的属性设置,右键点击窗体,选择属性,VS右侧即可看到窗体的属性,winform所有控件的属性设置皆可以通过此种方式进行设置. (1)更改窗体的图标:在窗体的属性中有Icon这个属性,单击选择我们要设置的图片即可.图片必须是ico文件.可以到EasyICON这个网站上找找,有很多很好的图标. (2)隐藏窗体的标题栏