131425god 发表于 2010-7-22 11:49:44

我把一个脚本里的两个action都粘贴出来了,加粗部分就是关键的地方,

skyzhu 发表于 2010-7-22 16:27:37

回复 20# 的帖子

再第2句粗体前加上下面的代码,看看到底有几个一样的控件,一点点确定问题
Set mydescription=Description.Create()
mydescription("type").value="checkbox"
mydescription("html id").value="ckb_2"
set bb = test.childobjects(mydescription)
msgbox bb.count

yujie6832 发表于 2010-7-23 10:39:26

恩,可以这样试试,但是我看了代表,我有一个疑惑,但是也没试过,我先提出来,就是你第一段代码用的是Description.Create()的方法,而第二段直接描述了,会不会导致了这个错误的原因?QTP的机制?如果统一以后会不会真的好了?纯属猜测:lol我描述性编程用的不多,就算用,我也非常喜欢统一,所以这只是我的遐想,怀疑

131425god 发表于 2010-7-23 11:04:11

回复 22# 的帖子

我这样试了, bb。count=2,说明确实运行到这里的时候是找到了两个相同的对象了- -!

yujie6832 发表于 2010-7-23 11:14:20

回复 24# 的帖子

那就是业务上引起的原因,第一次使用后,他其实仍然保存在页面上,只是可能你看不到了,下次再使用,自然就同时出现两个了

skyzhu 发表于 2010-7-23 13:20:35

bb.item(bb.count - 1).Set "ON"
这样应该能操作最新的那个了,试试
要是错了,item编号自己定,找个规律出来
虽然不是直接识别,不过有时候也只有这样了,checkbox是个很麻烦的东西

yujie6832 发表于 2010-7-23 16:45:58

这应该也算解决问题了,鲜花吧:lol

blueeagle9999 发表于 2010-7-27 15:26:05

不会两个都是可见的吧,加个visible=True的属性再看看

131425god 发表于 2010-7-28 17:44:06

回复 26# 的帖子

发现运行这个语句的时候,QTP会crash:(
页: 1 [2]
查看完整版本: 同一脚本里描述性编程对象第二次使用会报错