用QTP脚本操作腾讯QQ好友买卖功能
今日玩起了腾讯的好友买卖,操作特别繁琐,无聊之下就写了个脚本去做操作。
相信想学习QTP的读者去做这套小小的脚本一定会有不小的收获。先丢个流程图给大家,脚本还没全部检查完,因为好友都被我折磨完了,PK完了~~~在9.5中已经大量使用了对象库,描述编程感觉已经很难立足。你可以不同意我的观点,但你不能不注意这个问题,哈哈。
因为对象库中涉及到部分个人信息,所以就只贴出部分代码。在ACTION1 datatable中需要添加:
index:0
PK_index:0
friend_name :可以多行,都是你首选要买的朋友,例如大强,小强
同时,对象添加进去时候,腾讯也够折腾人的,区分他、她,所以大家需要对连接做个简单的正值表达式修改。对象库中的连接大部分都被参数化了,使用 INDEX属性与datatable中的index挂连接,通过修改datatable的index来确定那个药被点击到。例如折磨奴隶的连接等等。
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Buy_Friend
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Buy_Friend()
' List_count=browser("沙").Page("沙").Frame("Frame_2").Object.links.length
Rowcount = DataTable.GetSheet("Action1").GetRowCount ()
flag=true
curent_line=0
While flag
browser("沙").Page("沙").Frame("Frame").Link("我买得起的人").Click
If browser("沙").Page("沙").Frame("Frame_2").Link("点击展开更多>>").Exist(0) Then
browser("沙").Page("沙").Frame("Frame_2").Link("点击展开更多>>").click
End If
curent_line=curent_line+1
If curent_line=Rowcount then
flag =false
browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#0"
browser("沙").Page("沙").Frame("Frame").Link("我要购买他").Click
If browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Exist(0) Then
text=browser("沙").Page("沙").Frame("Frame_4").WebElement("Friendname").GetROProperty("outertext")
browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Set text
browser("沙").Page("沙").Frame("Frame_4").WebButton("买下他").Click
flag=false
browser("沙").Page("沙").WebButton("╳").Click
else
browser("沙").Page("沙").WebButton("╳").Click
end if
end if
datatable.SetCurrentRow(curent_line)
If browser("沙").Page("沙").Frame("Frame_2").Link("Friend_name").exist(0) Then '如果存在datatable中就做点击操作
browser("沙").Page("沙").Frame("Frame_2").Link("Friend_name").click
browser("沙").Page("沙").Frame("Frame").Link("我要购买他").Click
'有四个情况,购买成功,购买次数多2,资金不够,正在打工,但只要有可以输入的框就说明可以买
If browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Exist(0) Then
text=browser("沙").Page("沙").Frame("Frame_4").WebElement("Friendname").GetROProperty("outertext")
browser("沙").Page("沙").Frame("Frame_4").WebEdit("WebEdit").Set text
browser("沙").Page("沙").Frame("Frame_4").WebButton("买下他").Click
flag=false
browser("沙").Page("沙").WebButton("╳").Click
else
browser("沙").Page("沙").WebButton("╳").Click
end if
End If
Wend
End Function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Sell_Friend
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Sell_Friend()
F_Count=Friend_Count()
For i=0 to F_count-1
datatable.Value("index","Action1")=i
hold_time=browser("沙").Page("沙").Frame("Frame").WebElement("05-19 10:57").GetROProperty("outertext")
If day(now)-day(hold_time)>=2Then
browser("沙").Page("沙").Frame("Frame").Link("释放奴隶").Click
If browser("沙").Page("沙").Frame("Frame_4").WebButton("释放她").Exist(0) Then
browser("沙").Page("沙").Frame("Frame_4").WebButton("释放她").Click
browser("沙").Page("沙").WebButton("╳").Click
End If
End If
Next
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Labor 折磨奴隶
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Labor()
If browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
cot= browser("沙").Page("沙").Frame("Frame_4").Object.getElementsByTagName("input").length
browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&cot-1
browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
browser("沙").Page("沙").WebButton("╳").Click
else
browser("沙").Page("沙").WebButton("╳").Click
End If
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Appease 安抚奴隶
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Appease()
If browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
cot= browser("沙").Page("沙").Frame("Frame_4").Object.getElementsByTagName("input").length
browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&cot-1
browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
browser("沙").Page("沙").WebButton("╳").Click
else
browser("沙").Page("沙").WebButton("╳").Click
end if
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function PK
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function PK()
browser("沙").Page("沙").Frame("Frame").Link("PK角斗场").Click
flag=true
Page_PK_Index=0 '页面上其他人的努力顺序
PK_index=0 '奴隶PK的顺序
PK_Friend_Count=0 '选择PK主人(当PK数太少,就选择第2个PK主人)
While flag
datatable.Value("PK_index","Action1")=Page_PK_Index
If browser("沙").Page("沙").Frame("Frame").Link("派奴隶与她PK").Exist(0) Then
browser("沙").Page("沙").Frame("Frame").Link("派奴隶与她PK").Click
If browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
PK_Count=browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").GetROProperty("items count")
If PK_index>PK_Count-1 Then
flag=false
else
browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&PK_index
browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
If browser("沙").Page("沙").Frame("Frame_4").WebButton("关闭").exist(0) Then
PK_index=PK_index+1
browser("沙").Page("沙").Frame("Frame_4").WebButton("关闭").click
else
browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
browser("沙").Page("沙").Frame("Frame_4").WebButton("直接查看赛果").Click
PK_index=PK_index+1
Page_PK_Index=Page_PK_Index+1
browser("沙").Page("沙").WebButton("╳").Click
End If
end if
else
Page_PK_Index=Page_PK_Index+1
browser("沙").Page("沙").WebButton("╳").Click
End If
else
browser("沙").Page("沙").Frame("Frame").WebButton("PK其他好友奴隶").Click
browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&PK_Friend_Count
browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
Page_PK_Index=0
PK_Friend_Count=PK_Friend_Count+1
End If
' For i=0 to Pk_count-1
' datatable.Value("PK_index","Action1")=i
' browser("沙").Page("沙").Frame("Frame").Link("派奴隶与她PK").Click
' browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&i
' browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
' Page_PK_Index=0
' Next
Wend
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Fawn 讨好主人
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Fawn()
browser("沙").Page("沙").Frame("Frame").Link("讨好主人").Click
If browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Exist(0) Then
cot= browser("沙").Page("沙").Frame("Frame_4").Object.getElementsByTagName("input").length
browser("沙").Page("沙").Frame("Frame_4").WebRadioGroup("aid").Select "#"&cot-1
browser("沙").Page("沙").Frame("Frame_4").WebButton("确定").Click
browser("沙").Page("沙").WebButton("╳").Click
else
browser("沙").Page("沙").WebButton("╳").Click
end if
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Use_FateCar
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Use_FateCar()
browser("沙").Page("沙").Frame("Frame").Link("使用命运卡").Click
browser("沙").Page("沙").WebButton("╳").Click
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'function Friend_Count
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public function Friend_Count()
Dim Friend
Set Friend=description.Create()
Friend("html tag").value="A"
Friend("text").value="折磨奴隶"
Friend_Count=browser("沙").Page("沙").Frame("Frame").ChildObjects(Friend).count
End Function
Public function main()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'如果朋友小过9个就去买朋友
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
while Friend_Count()<9
Buy_Friend()
wend
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'折磨奴隶 和安抚奴隶
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
F_Count=Friend_Count()
For i=0 to F_Count-1
datatable.SetCurrentRow(1)
datatable.Value("index","Action1")=i
browser("沙").Page("沙").Frame("Frame").Link("折磨奴隶").Click
Labor
browser("沙").Page("沙").Frame("Frame").Link("安抚奴隶").Click
Appease
Next
Fawn
Use_FateCar
PK
Sell_Friend
while Friend_Count()<9
Buy_Friend()
wend
End Function
main()