自己拷了一段参数化link的代码,改了一下,但是不能执行。请大家帮忙看看
因为在研究参数化link的问题,所以拷贝了一段代码,改了一下,把IE的首页改成了bj.ganji.com,但是运行的时候,QTP始终在for each那段循环语句里上下打晃,变成了死循环。我的本意是想点击更多城市后,让QTP自己跑脚本,挨个点击各个城市的链接,但是现在不知道该怎么改了,大家帮忙看看呗,谢谢了!
代码如下:
Dim eleLink
Dim i,j,Links()
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","C:\Documents and Settings\Administrator","open"
Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Link("更多城市").Click
wait 5
'Browser("北京分类信息-赶集网").Page("全国分类信息 - 赶集网").Link("上海").Click
'Browser("北京分类信息-赶集网").Page("上海分类信息-赶集网").Sync
Set objLinks=Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Object.links
i=0
Foreach eleLink In objLinks
If Ucase(eleLink.tagname)="上海" Then
Links(i)=eleLink.InnerText
i=i+1
End If
Next
For j=0 To i
Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Link("InnerText:=" & Links(j)).Click
Browser("Browser").Back
Next
Browser("北京分类信息-赶集网").Close 如果只是为了找出哪个符合的话
dim len1
Set objLinks=Browser("xxxx").Page("xxx").Object.links
For i=0 toobjLinks.length-1
If objLinks(i).tagName="上海" Then
len1=len1+1
End If
Next
类似这样的写法也可以的哇
[ 本帖最后由 今天有雾 于 2008-10-22 17:23 编辑 ] 不对,我不是想找出符合的,而是让QTP自动跑网页,点击各个城市的链接,然后再自动关闭网页,所以需要参数化link。
今天有雾,你的那段代码我拷贝到程序里,还是死循环。帮忙看看,是怎么回事啊? 我没有什么问题,也不会出现死循环呀,最好是看一下取的tagname倒是什么内容呀
[ 本帖最后由 今天有雾 于 2008-10-22 17:24 编辑 ] 改成innertext也不行,我觉得是不是我的代码逻辑有问题啊,如果想实现我想实现的这个功能,不能这样参数化link啊?
回复 5# 的帖子
没有死循环,只是一共有360多个链接,时间比较长吧 我记得QTP有个抓取网页链接的功能,以前用过,抓出来一百多个链接,就是单单一个网页,现在不记得怎么用了,我找找 :L你没发现你自己在绕圈子吗?
Set objLinks=Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Object.links
for i=0 to objLinks.length
Set objLinks=Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Object.links
objLinks(i).click
Browser("Browser").Back
next 哈哈,应该还没有运行到这一步呢,前面的死循不知道怎么回事 Set objLinks=Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Object.links
for i=0 to objLinks.length-1
if objLinks(i).tagname="上海" then '想不通你的tagname?!节点名字?!是一个上海二字...但我还是照抄。
Set objLinks=Browser("北京分类信息-赶集网").Page("北京分类信息-赶集网").Object.links
objLinks(i).click
Browser("Browser").Back
end if
next 谢了,你的代码的确是对的,但是有些东西我觉得我没有搞明白,呵呵,多谢多谢,我回家要接着研究。。。
页:
[1]