社区
JavaScript
帖子详情
急! 如何取得当前页面上自定义属性controltype的值='aa'的所有元素集合?
fcsoft01
2005-04-04 12:37:17
up
...全文
136
2
打赏
收藏
急! 如何取得当前页面上自定义属性controltype的值='aa'的所有元素集合?
up
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
meizz
2005-04-04
打赏
举报
回复
<SCRIPT LANGUAGE="JavaScript">
var a = document.all;
var len = a.length;
var b = [];
for (var i=0; i<len; i++)
{
if (a[i].controltype=="aa") b[b.length] = a[i];
}
alert(b.length);
</SCRIPT>
faisun
2005-04-04
打赏
举报
回复
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body controltype="aa"><a href="#" controltype="aa">11</a>
<script>
elementsArray=new Array();
function getElementsArray(object){
var i;
var len=object.childNodes.length;
var objectchild;
for(i=0;i<len;i++){ //在子节点中遍历
objectchild=object.childNodes[i];
if(typeof(objectchild.controltype)!="undefined"){
if(objectchild.controltype=="aa"){ //找到元素,加入elementsArray
elementsArray.push(objectchild);
alert(objectchild.outerHTML);
}
}
if(object.childNodes.length>0){ //有子节点,递归查找
getElementsArray(objectchild);
}
}
}
getElementsArray(window.document);
//得到的元素保存在 elementsArray 中
</script>
</body>
</html>
三调XML配置文件.txt
xml <Layer NAME="行政区"> <LayerField Name="XZQDM" Alias="行政区代码" DictionaryName="现状行政区" RelationField="行政区名称" Code="true"
Control
Type
="TreeView" /> <LayerField Name="XZQMC" Alias="行政区名称" DictionaryName="现状行政区" RelationField="行政区代码" Code="false"
Control
Type
="TreeView" /> </Layer> - <Layer NAME="地类图斑"> <LayerField Name="QSXZ" Alias="权
属性
质" DictionaryName="现状权
属性
质" RelationField="" Code="true"
Control
Type
="DropDownList" /> <LayerField Name="DLBM" Alias="地类编码" DictionaryName="地类代码" RelationField="地类名称" Code="true"
Control
Type
="TreeView" /> <LayerField Name="DLMC" Alias="地类名称" DictionaryName="地类代码" RelationField="地类编码" Code="false"
Control
Type
="TreeView" /> <LayerField Name="QSDWDM" Alias="权属单位代码" DictionaryName="现状行政区" RelationField="权属单位名称" Code="true"
Control
Type
="TreeView" /> <LayerField Name="QSDWMC" Alias="权属单位名称" DictionaryName="现状行政区" RelationField="权属单位代码" Code="false"
Control
Type
="TreeView" /> <LayerField Name="DLBZ" Alias="地类备注" DictionaryName="现状地类备注" RelationField="" Code="true"
Control
Type
="DropDownList" /> <LayerField Name="JSYDLX" Alias="建设用地类型" DictionaryName="现状建设用地类型" RelationField="" Code="true"
Control
Type
="DropDownList" /> <LayerField Name="KCLX" Alias="扣除类型" DictionaryName="现状扣除类型" RelationField="" Code="true"
Control
Type
="DropDownList" /> <LayerField Name="GDLX" Alias="耕地类型" DictionaryName="现状耕地类型" RelationField="" Code="true"
Control
Type
="DropDownList" /> - <!-- <LayerField Name = "XZGDLY" Alias="新增耕地来源" DictionaryName = "现状新增耕地来源" RelationField="" Code="true"
Control
Type
="DropDownList"> </LayerField> <LayerField Name = "KDPDJ" Alias="耕地坡度级" DictionaryName = "现状坡度级别" RelationField="" Code="true"
Control
Type
="DropDownList"> </LayerField> --> - <!-- <LayerField Name = "ZLDWDM" Alias="座落单位代码" DictionaryName = "现状行政区" RelationField="座落单位名称" Code="true"
Control
Type
="TreeView"> </LayerField> <LayerField Name = "ZLDWMC" Alias="座落单位名称" DictionaryName = "现状行政区" RelationField="座落单位代码" Code="true"
Control
Type
="TreeView"> </LayerField> -->
用UIAutomation封装了很多实用的方法
根据UIAutomation封装了很多
自定义
方法 现在只需要实例化之后 直接调用方法即可完成。比如单击某个按钮,现在只需要直接调用ClickElement,非常实用。 ClickElement 单击指定的自动化
元素
DisselectAllDataGridRow 不选中所有行 DisselectDataGridRow 不选中特定的某一行 FocusWindow 获取窗口焦点 GetAllElement 获取指定父自动化
元素
下的所有激活的控件 GetAllElementDetails 获取指定自动化
元素
下的详细信息包括AutomationID,
Control
Type
以及Name GetAllMenus 获取所有菜单项 GetAllSubMenus 获取某个菜单下的所有子菜单项 GetColumnsFromGridLine 获取指定行的所有列 GetColumnValuesFromGridLine 获取行的每一列数据 Get
Control
Type
(AutomationElement) 获取制动自动化
元素
的控件类型 Get
Control
Type
(
Type
Of
Control
) 获取UIAutomation的控件类型 GetDocumentText 获取document控件的
值
GetElementByID 获取父自动化
元素
下指定
元素
控件ID的引用 GetElementByName 获取父自动化
元素
下的指定子
元素
的引用 GetElementsBy
Control
Type
获取父自动化
元素
下的特定类型的所有自动化
元素
GetGridLinesFromDataGrid 获取网格控件的全部行
元素
的引用 GetHeaderFromDataGrid 获取指定网格控件的标题栏引用 GetMenuBar 获取菜单栏控件 GetMenuByName 通过特定的名称去获取菜单UI自动化
元素
GetName 获取指定自动化
元素
的名称 GetSubMenuByName 获取主菜单下的指定子菜单项的引用 GetValue 获取指定自动化
元素
的
值
GetWindowByName(String) 获取desktop下的指定窗口名称的子UI自动化
元素
GetWindowByName(String, AutomationElement) 获取特定父UI自动化
元素
下的制定窗口名称的子UI自动化
元素
GetWindowList() 获取
当前
桌面根下所有的UI自动化
元素
下 GetWindowList(AutomationElement) 获取特定父UI自动化
元素
下的所有窗口的名称 RefindMainApplication 重新获取desktop下的指定窗口的自动化
元素
引用 SelectAllDataGridRow 选中所有行 SelectDataGridRow(AutomationElement) 选中特定的某一行 SelectDataGridRow(AutomationElement, Boolean) 将特定的DateGridRow加入选中项中 SelectValueInComboBox 从下拉框中选中指定
值
的项 SelectValueInListBox 从列表中选中指定
值
的项 SetValue 给予指定自动化
元素
赋
值
以上的方法还不是很完善 正在完善中。如果有什么意见和建议,请发送邮件获取 chenxu7601257@qq.com 如果你看了这个帮助文件之后觉得有用的,请发邮件获取,我将把dll文件给你。谢谢。
.net UrlRewriterV2
1、在webconfig中加入如下代码
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
2、解决在URL Rewrite后保持PostBack地址 在Web项目中创建一个browser文件,例如 App_Browsers\Form.browser(名字可以随便起,只要在这个文件夹下就可以),然后在里面里写入下列代码保存即可。
<
control
Adapters>
control
Type
="System.Web.UI.Html
Control
s.HtmlForm" adapter
Type
="Intelligencia.UrlRewriter.FormRewriter
Control
Adapter" />
control
Adapters>
更多详情请参考http://www.cnblogs.com/JeffreyZhao/archive/2008/01/13/Url-Rewrite-3.html urlrewriter.net官网下载地址:http://urlrewriter.net/index.php/download/ 中文版http://www.urlrewriter.cn/Docs
UISpy 自动化测试工具
元素
选择工具
UISpy 自动化测试工具
元素
选择工具 。 从测试自动化透视,重要字段对于识别应用程序控件将包括
Control
Type
、 AutomationId和名称
值
。 操作应用程序控件的重要域是
Control
Patterns 列表 (调用)。
多语言系统的Demo程序
利用XML文件作的多语言DEMO程序 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' 多語系設置類 '' '' Create: Bunny_Young 2010-03-12 '' email:yangmeiwen@163.com '' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' Modification history: '' '' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Imports System.Xml Imports System.Data Imports System.Web Imports System.Web.UI Imports System.Web.UI.Web
Control
s Imports System.IO Public Class MutiLanguage Const _LANGUAGE_NAME = "language" Const _PAGE_NAME = "pageName" Const _
CONTROL
_NAME = "
control
Name" Const _
CONTROL
_
TYPE
= "
control
Type
" Const _
CONTROL
_VALUE = "
control
Value" Private _PageName As String ''resource讀取路徑 Private _language
Type
As String '' Private _xmlDoc As XmlDocument Private _savePath As String Private ds As DataSet Sub New(ByVal strLanguage As String, ByVal aspxPage As String) 'savePath = "~/Resource/" + strLanguage _PageName = "~/Resource/" + strLanguage + "/" + aspxPage + ".xml" _savePath = "~/Resource/" + strLanguage _savePath = HttpContext.Current.Server.MapPath(_savePath) _PageName = HttpContext.Current.Server.MapPath(_PageName) _language
Type
= strLanguage End Sub Public Sub GetDataSet() ds = New DataSet() ds.ReadXml(_PageName, XmlReadMode.Auto) End Sub Public Function UpdateLanguage(ByVal _
control
Name As String, ByVal _
control
Type
As String, ByVal _
control
Value As String) As Boolean GetDataSet() For Each dr As DataRow In ds.Tables(0).Rows If dr("
control
Name") = _
control
Name And dr("
control
Type
") = _
control
Type
Then dr("
control
Value") = _
control
Value End If Next ds.WriteXml(_PageName, XmlWriteMode.IgnoreSchema) ds.ReadXml(_PageName) End Function Public Function Get
Control
sList() As List(Of UI
Control
) GetDataSet() Dim dt As DataTable = ds.Tables(0) Dim ResultList As New List(Of UI
Control
) For Each dr As DataRow In dt.Rows Dim My
Control
As New UI
Control
My
Control
.
Control
Name = dr("
control
Name") My
Control
.
Control
Type
= dr("
control
Type
") My
Control
.
Control
Value = dr("
control
Value") ResultList.Add(My
Control
) Next Return ResultList End Function '''
''' 主動生成資源文件 '''
'''
語言類別 '''
WEB PAGE '''
Public Sub WriteResourceFile(ByVal Page As UI.Page) Try If Not Directory.Exists(_savePath) Then Directory.CreateDirectory(_savePath) End If Dim writer As New XmlTextWriter(_PageName, Nothing) writer.Formatting = Formatting.Indented ''語言類別 writer.WriteStartElement(_LANGUAGE_NAME, _language
Type
) LoopAll
Control
s(Page, writer) ''語言類別結束 writer.WriteEndElement() writer.Close() Catch ex As Exception End Try End Sub Private Sub LoopAll
Control
s(ByVal oCtrl As
Control
, ByVal writer As XmlWriter) For Each _Ctrl As
Control
In oCtrl.
Control
s Dim _strName As String = _Ctrl.Get
Type
.Name.ToUpper If _strName = "LABEL" Or _strName = "BUTTON" Then Dim strValue As String Dim strComment As String If _strName = "LABEL" Then strValue = C
Type
(_Ctrl, Label).Text strComment = "label
control
" Else strValue = C
Type
(_Ctrl, Button).Text strComment = "button
control
" End If writer.WriteComment(strComment) writer.WriteStartElement("
Control
") writer.WriteAttributeString(_
CONTROL
_VALUE, strValue) writer.WriteAttributeString(_
CONTROL
_NAME, _Ctrl.ID) writer.WriteAttributeString(_
CONTROL
_
TYPE
, _Ctrl.Get
Type
.Name) writer.WriteEndElement() End If If _Ctrl.Get
Type
.Name.ToUpper() = "GRIDVIEW" Then Continue For End If If _Ctrl.Has
Control
s Then LoopAll
Control
s(_Ctrl, writer) End If Next End Sub Public Sub ApplylanguageResource(ByVal _aspxPage As System.Web.UI.Page) GetDataSet() LoopApply(_aspxPage) End Sub Private Sub LoopApply(ByVal _
control
As
Control
) For Each ct As
Control
In _
control
.
Control
s Dim
control
Name As String = ct.ID Dim dr() As System.Data.DataRow = ds.Tables(0).Select("
control
Name='" +
control
Name + "'", "
control
Name DESC") If dr.Count > 0 Then If ct.Get
Type
.Name.ToUpper = "LABEL" Then C
Type
(ct, Label).Text = dr(0)("
control
Value") End If If ct.Get
Type
.Name.ToUpper = "BUTTON" Then C
Type
(ct, Button).Text = dr(0)("
control
Value") End If End If If ct.Has
Control
s Then LoopApply(ct) End If Next End Sub End Class
JavaScript
87,910
社区成员
224,616
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章