继续学习中...
1 随机选择 下拉列表内容:
'随机选择维度分类
Dim m,c1
m=RandomNumber.Value(1,5) '包括选择奕择
c1=DataTable.GetSheet("Global").GetParameter("dimention").valuebyrow(m)
msgbox c1
Browser("北京北森测评技术有限公司").Page("测评内容管理_2").WebList("dimCluster").Select(c1)
2 使用描述性编程
Dim oWebChkDesc
Set oWebChkDesc=description.Create
'oDesc("Class name").value="WebCheckBox"
oWebChkDesc("type").value="checkbox"
oWebChkDesc("html tag").value="INPUT"
'获取所有匹配对象
Dim oCheckBox,counts,n
Set oCheckBox=Browser("北京北森测评技术有限公司").Page("测评内容管理_2").ChildObjects(oWebChkDesc)
counts=oCheckBox.count
msgbox counts
wait 1
a=RandomNumber.Value(1,counts-10) '从某一个位置连续选10个维度
For n=a to a+9
oCheckBox(n).Set "ON"
Next
附注:接上
'n=RandomNumber.Value(1,counts) '这样写只可随机选一个维度
'For n=0 to counts '这样可 勾选全部维度
'
' oCheckBox(n).Set "ON"
'Next
'a=RandomNumber.Value(1,counts) '‘从最后一个随机选择N个维度
'For n=a to counts
'
' oCheckBox(n).Set "ON"
'
'Next
场景:根据下拉列表选择的内容不同,页面联动显示与下拉列表相关联的内容。
需实现:随机选择"维度分类"且选择10个"维度“生成自定义测验,即 随机选择下拉列表内容 和选取多个复选框;
完善脚本的过程中,描述性编程后部分,起初先的是:'n=RandomNumber.Value(1,counts) '这样写只可随机选一个维度
但是发现这样每次只选择了一个 维度(即只选择了一个复选框),这样没有达到我想要的;后来改成这样:
'For n=0 to counts '这样可 勾选全部维度
'
' oCheckBox(n).Set "ON"
'Next
但是这样是选取了所有的复选框,同样没有实现我要求的。
又完善了代码:
成这样:
a=RandomNumber.Value(1,counts-10) '从某一个位置连续选10个维度
For n=a to a+9
oCheckBox(n).Set "ON"
Next
因为每个维度分类对应下面的 维度个数不一,所以 在随机选取的时候去掉了10,随机只取(1,counts-10)范围的,也就是说这里从某一个复选框开始(任意的)顺序选取10个,呵呵开始 for循环的时候是a+10,但是发现后面选择了11个维度,那就改成a+9了。
再后来,想到,若是我想随机选取N个呢,那怎样实现?
就有这样的:
'a=RandomNumber.Value(1,counts) '‘从最后一个随机选择N个维度
'For n=a to counts
'
' oCheckBox(n).Set "ON"
'
'Next
但这还是没有达到我想任意选择N个维度,只是实现了 我从最后一个复选框开始 任意选择了N个维度,而不是任意选择N各维度,这里有点绕,不知道看的人是否明白哈~
若是有更好的方法实现 :任意选择N个复选框,欢迎提出来,大家一起分享,共同进步~ O(∩_∩)O~