急!一个查询功能,if语句两边值相同,为什么不执行then反而执行else?
:'(急死了,求大神们帮小弟看看,感激不尽!!!!!!!! :'(以下是我写的简单脚本,按酒店名称查询,然后比较查询结果中展示的酒店是否与输入的酒店相同
Dim i
Browser("XXXXXX").Page("XXXXXX").Frame("menuFrame").Link("酒店库存情况查询").Click
'按酒店名称查询
For i=1 to DataTable.LocalSheet.GetRowCount
hotelname=datatable.LocalSheet.GetParameter("酒店名称").ValueByRow(i)
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebEdit("按名称查询").Sethotelname
Reporter.ReportNote("当前输入的酒店名称是:"&hotelname)
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebButton("点击查询").Click
checkname=Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebElement("列表中的酒店名称").GetROProperty("innertext")
Reporter.ReportNote("列表中的酒店名称是:"&checkname)
if (hotelname=checkname) Then
Reporter.ReportNote "查询结果:pass"
else
Reporter.ReportNote "查询结果:failed"
End If
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebEdit("按名称查询").Set ""
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebButton("点击查询").Click
Next
运行完后的报告中,Notes是这样的:
当前输入的酒店名称是:深圳明天西部酒店
列表中的酒店名称是:深圳明天西部酒店
查询结果:failed
当前输入的酒店名称是:岷山金圣大酒店
列表中的酒店名称是:岷山金圣大酒店
查询结果:failed
为什么if语句里两边值相同,但是执行“查询结果:failed”? 在线等!:'( 给小弟一点意见,在此谢过了 判断语句是不是要双等号的... 搞混了,VB中是单等号....
把hotelname和checkname也加到dim里,定义下试试呢 回复 4# yubing4828
单等号的,把hotelname和checkname加到dim里也不行,还是执行else:'( 解决了!看来是有空格,我改成if (Trim(hotelname)=Trim(checkname)) Then.....
就可以了。
不过也谢谢yubing4828的热情回复 呵呵,没帮上什么忙...
一时没想起trim函数.. 1个就是 LZ自己发现的 空格问题
还有就是 数据类型问题 VBS是弱类型的 如果 你预期 比较的是INT型的 就要用cint 或 clng 对两边数据进行类型转换 否则也可能出现你所描述的问题
页:
[1]