u03024218 发表于 2011-6-8 20:31:29

已解决【使用Description.Create()遍历定为到对象后使用】测试时产生的问题

本帖最后由 u03024218 于 2011-6-9 09:50 编辑

systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"

   Set oWebEdit =description.Create()
   oWebEdit("micclass").Value="webedit"
   Set EditObject=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit)
   ObjectCount=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit).count
   For i=0 to ObjcetCount-1
         If Editobject(i).GetRoProperty("name")="wd" Then
                   Editobject(i).set="jcygscz"
         End If
   Next

以上是代码。




ObjectCount在刚走到oWebEdit("micclass").Value="webedit" 时 还能有值,显示为29,但是单步执行1步后,值就清空了。导致根本不会进入循环,见附件






请教一下 这是怎么回事啊?

u03024218 发表于 2011-6-8 23:05:27

用的是百度的首页,直接copy过去就能看~~有没有高手呀,折磨好久了

zzxxbb112 发表于 2011-6-8 23:12:33

怎么会有29个呢,百度首页不是只有一个webedit吗,还有你第9行是没有=号的。
帮你改了下,你试试:


systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"

   Set oWebEdit =description.Create()
   oWebEdit("micclass").Value="WebEdit"
   Set EditObject=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit)
   
   For i=0 to EditObject.count - 1
         If Editobject(i).GetRoProperty("name")="wd" Then
                   Editobject(i).set "jcygscz"
         End If
   Next

u03024218 发表于 2011-6-9 09:36:48

Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit).count   还是等于29

而且执行到下一步的时候 便会被清零根本不会进循环~~~

谢谢斑竹 我在看看研究下

17800455 发表于 2011-6-9 09:40:31

我帮你重新改了一下.经测试可行____________
   systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"
   Browser("name:=百度一下,你就知道").Sync
   Set oWebEdit =description.Create()
   oWebEdit("micclass").Value="WebEdit"
   Set EditObject=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit)
   ObjectCount=EditObject.count
   For i=0 to ObjcetCount
         If Editobject(i).GetRoProperty("name")="wd" Then
                   Editobject(i).set "jcygscz"
         End If
   Next

u03024218 发表于 2011-6-9 09:49:35

找到问题了 还是看了斑竹的blog。主要是对象的属性写错了

oWebEdit("micclass").Value="webedit"

这句中的webedit 应该写成WebEdit 没有忽略大小写。。

谢谢斑竹

17800455 发表于 2011-6-9 11:17:47

oWebEdit("micclass").Value="webedit"
对WebEdit 确实是区分大小写的.

u03024218 发表于 2011-6-9 14:04:57

谢谢17800455和斑竹了~~~

那最后有个问题,这个29是哪里来的? 随机值吗?
页: [1]
查看完整版本: 已解决【使用Description.Create()遍历定为到对象后使用】测试时产生的问题