jxt 发表于 2008-9-2 15:22:18

怎样判断页面中可编辑的WebEdit的数量

我可以捕获页面中所有WebEdit的数量,但是其中有不能被编辑的,我该怎么判断可编辑的WebEdit的数量呢?
修改后的代码如下:
Dim desc,EditCollection,n,NumberOfEdits
Set desc = Description.Create()
desc("micclass").Value = "WebEdit"
Set EditCollection = Browser("XXX").Page("XX").Frame("MainFrame").ChildObjects(desc)
NumberOfEdits = EditCollection.Count
For
n = 0
To
NumberOfEdits - 1

EditCollection(n).Set "567"
Next

fengmingbao 发表于 2008-9-2 15:50:27

editable

尝试一下, 做点必要的修改

Dim desc, EditCollection,n,NumberOfEdits

Set desc = Description.Create()

desc("micclass").Value = "WebEdit"

Set EditCollection = Browser("XXX").Page("XX").Frame("MainFrame").ChildObjects(desc)

NumberOfEdits = EditCollection.Count

For n = 0 To NumberOfEdits - 1
j = EditCollection(n).getRoproperty("editable")
      if j = 1 Then
         k = k + 1
      EditCollection(n).Set "567"
   End if
Next

假装不在 发表于 2008-9-2 16:01:09

楼上的方法应该也可以,但有点鸡肋
只要在desc中多加一条:
desc("disabled ").value=false

lingxin5013 发表于 2008-9-2 16:17:37

嘿嘿 这个方法 刚刚也想过,如果不出意外会提示 "缺少对象"!!
嘎嘎

fengmingbao 发表于 2008-9-2 16:32:36

回复 4# 的帖子

我的方法缺少对象????

jxt 发表于 2008-9-2 16:35:36

fengmingbao
你的方法我试过了!不执行for循环!

jxt 发表于 2008-9-2 16:39:30

回复 3# 的帖子

你好!我加了,但是还是不能成功执行!我加到这里了,不知道对不对?
Dim desc,EditCollection,n,NumberOfEdits
Set desc = Description.Create()
desc("disabled ").value=false
desc("micclass").Value = "WebEdit"
Set EditCollection = Browser("XXX").Page("XX").Frame("MainFrame").ChildObjects(desc)
NumberOfEdits = EditCollection.Count
For n = 0 To NumberOfEdits - 1
EditCollection(n).Set "567"
Next

centurystone 发表于 2008-9-2 16:46:54

不能吧。检查下NumberOfEdits的值取出来没有。
其实我还是推荐假装不在的建议

jxt 发表于 2008-9-2 16:54:21

回复 8# 的帖子

我试过了!可是不能执行,不知道我是不是加错地方了!

假装不在 发表于 2008-9-2 16:58:38

嘿嘿,
desc("disabled ").value=0

才对。

fengmingbao 发表于 2008-9-2 16:58:42

我运行是好的,最后返回可编辑的个数
Set tempWebEdit = Description.Create()
tempWebEdit("name").value = "WebEdit"
tempWebEdit("html tag").value = "INPUT"


set tempCollection = Browser(tempBrowser).Page(tempPage).childobjects(tempWebEdit)
msgbox tempCollection.count

totalNo = tempCollection.count
For n = 0 To totalNo - 1
j = tempCollection(n).getRoproperty("disabled")
      if j = 0 Then
         k = k + 1
      tempCollection(n).Set "567"
          
   End if
Next
msgbox k

lingxin5013 发表于 2008-9-2 17:02:25

原帖由 假装不在 于 2008-9-2 16:58 发表 http://bbs.51testing.com/images/common/back.gif
嘿嘿,
desc("disabled ").value=0

才对。



为什么FALSE不行 不在?? 讲解下

假装不在 发表于 2008-9-2 17:02:56

Set desc = Description.Create()
desc("disabled ").value=0
desc("micclass").Value = "WebEdit"
msgbox Browser("XXX").Page("XX").Frame("MainFrame").ChildObjects(desc).count;P

jxt 发表于 2008-9-2 17:31:06

假装不在
我改成0了,可还是不正确阿!运行到EditCollection(n).Set "567"这句时就报错,提示“General run error”

jxt 发表于 2008-9-2 17:34:04

假装不在,
我试过了,还是不可以,在运行到EditCollection(n).Set "567"这句时就报错,“General run error”

假装不在 发表于 2008-9-3 09:38:12

原帖由 lingxin5013 于 2008-9-2 17:02 发表 http://bbs.51testing.com/images/common/back.gif




为什么FALSE不行 不在?? 讲解下


它的属性有些是使用true和false,有的是1和0.
你可以自己瞧瞧说明文档。

假装不在 发表于 2008-9-3 09:41:18

原帖由 jxt 于 2008-9-2 17:34 发表 http://bbs.51testing.com/images/common/back.gif
假装不在,
我试过了,还是不可以,在运行到EditCollection(n).Set "567"这句时就报错,“General run error”

是在循环的第1次还是第2次。
如果是第1次,这个可能是我们的方法里面还少了一些属性没写下去。
如果是第2次,
说明第一次可以识别出来,但第2次为什么不能识别呢?
嘿嘿,objects丢失的原因。某些控件的操作会导致我们的EditCollection 的丢失。
Set EditCollection = Browser("XXX").Page("XX").Frame("MainFrame").ChildObjects(desc)
EditCollection(n).Set "567"
在这句前面再加上一句。嘿嘿

jxt 发表于 2008-9-3 15:20:51

还是不能获得可编辑的WebEdit的数量!false和0都不行!!抓狂!

我重新表述下我想实现的东西
比如一个页面里面有2个WebEdit,其中一个显示的是当前日期(不能在WebEdit直接修改日期,需要点日期控件才能修改),另外一个是需要输入的金额默认显示的是0.00(可修改),这个时候我需要获得可输入金额的WebEdit的数量(应该为1才对),然后给他赋予值 。

各位高手该怎么弄啊!

郝宁 发表于 2008-9-10 07:10:54

“desc("disabled ").value=false”
应该是这样吧:desc("disabled ").value=“false”
返回值是字符串,不是布尔类型。。。

rcpp 发表于 2008-9-10 10:55:05

还没搞定吗?
楼主把你用的页面webedit对应的html源码,也就是input标签贴上来看看

disabled的话,webedit是灰掉的,也就是无效的
一般来说,不可编辑指的是“只读”,也就是readonly属性,请楼主自己修改代码确认一下,从你的描述来看,这里disabled属性是不适用的
页: [1] 2
查看完整版本: 怎样判断页面中可编辑的WebEdit的数量