标题: 麻烦大虾们看看同一个语句,两种写法为什么执行速度不一样 [打印本页] 作者: runny15 时间: 2010-10-25 12:48 标题: 麻烦大虾们看看同一个语句,两种写法为什么执行速度不一样 下面这个执行的时间是不到1秒
Set Desc = Browser("creationtime:=0").Page("index:=0")
If Desc.Frame("html id:=contentIframe").Link("name:="&twoLevel,"index:="×).Exist(2) Then
下面这个执行的时间是5秒半
Set Desc = Browser("creationtime:=0").Page("index:=0").Frame("html id:=contentIframe").Link("name:="&twoLevel,"index:="×)
If Desc.Exist(2) Then
没有做过试验,假设LZ的观点是正确的,那么我的个人观点是:
Set Desc = Browser("creationtime:=0").Page("index:=0") ‘进行对象匹配,但仅解析2层并返回一个对象
If Desc.Frame("html id:=contentIframe").Link("name:="&twoLevel,"index:="×).Exist(2) Then ’进行对象匹配,其实还是从头到尾进行解析,共解析了4层
Set Desc = Browser("creationtime:=0").Page("index:=0").Frame("html id:=contentIframe").Link("name:="&twoLevel,"index:="×) ‘进行对象匹配,对4层全部进行了解析,并返回一个对象
If Desc.Exist(2) Then ’再一次进行对象匹配,但依然是对4层对象全部进行了解析
从上面的分析可以看出,1比2少解析了2层,所以2的时间会多