主要针对8月份第一周,编写QTP脚本时,遇到问题,解决问题的方法做以下总结
主要问题:
- 测试page,点击链接,弹出不同页面
通过"CreationTime" 来识别变化的page
Set Doc = Browser("CreationTime:=3").Page("index:=1").Object
- 测试page,翻页
判断"下一页"是否存在,若存在,执行"点击"操作,若不存在,循环结束
Function pageDown()
linkValue= Browser("中国法律法规规章司法解释全库 - 北大法律信息网").Page("中国法律法规规章司法解释全库 - 北大法律信息网").Link("下一页").Exist
msgbox linkValue
If linkValue <> False Then
Browser("中国法律法规规章司法解释全库 - 北大法律信息网").Page("中国法律法规规章司法解释全库 - 北大法律信息网").Link("下一页").Click
End If
pageDown = linkValue
End Function
采用描述性编程,进行识别
'一个属性无法识别对象,可以使用多个,本例子中,使用两个:text,height
sub pageDown
strText= i+1 '第i+1页的值
Set LinkDesc = Description.Create()
Set LinkDesc1 = Description.Create()
LinkDesc ("Text").Value = strText
LinkDesc1("height").value = 16
If i = 10 or i =20 or i =30 Then
Browser("Browser").Page("所有城市酒店点评_旅游社区 - 携程旅行网_3").Link("8").Click
else
Browser("Browser").Page("所有城市酒店点评_旅游社区 - 携程旅行网").Link(LinkDesc,LinkDesc1).Click
wait(5)
End If
End Sub
- 测试page,获取tool tip 信息
使用DOM(Document Object Model) 方法 获取page 中的tip 信息
Sub writeHotelName()
Set Doc = Browser("所有城市酒店点评_旅游社区 - 携程旅行网").Page("所有城市酒店点评_旅游社区 - 携程旅行网").object
Dim TitleName(50)
Dim i
i = 0
'循环获取page中的所有对象
For Each element IN Doc.all
TitleName1 = Element.title '获取标签名
If TitleName1 <> "" Then
TitleName(i) = TitleName1
i = i +1
End If
Next
For j = 21 to 40
DataTable.Value("HotelName","Global") =TitleName(j)
msgbox j
Next
End Sub