已解决【使用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步后,值就清空了。导致根本不会进入循环,见附件
请教一下 这是怎么回事啊? 用的是百度的首页,直接copy过去就能看~~有没有高手呀,折磨好久了 怎么会有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 Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit).count 还是等于29
而且执行到下一步的时候 便会被清零根本不会进循环~~~
谢谢斑竹 我在看看研究下 我帮你重新改了一下.经测试可行____________
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
找到问题了 还是看了斑竹的blog。主要是对象的属性写错了
oWebEdit("micclass").Value="webedit"
这句中的webedit 应该写成WebEdit 没有忽略大小写。。
谢谢斑竹 oWebEdit("micclass").Value="webedit"
对WebEdit 确实是区分大小写的. 谢谢17800455和斑竹了~~~
那最后有个问题,这个29是哪里来的? 随机值吗?
页:
[1]