FLY000 发表于 2010-10-28 14:12:42

描述性编程中,字符串中带有括号的要转义

本帖最后由 FLY000 于 2010-10-28 17:48 编辑



方法1:
Function SelectOrganize(orgId,orgName)
    cString = orgId & "(" & orgName & ")"
    Browser("Wtap2.0").Page("OrganizePage").Frame("Frame").WebTable("税务机关").WebElement("html tag:=SPAN,class:=overTreeRow,innertext:="&cString).Click
End Function

方法2:
Function SelectOrganize(orgId,orgName)
    cString = orgId & "(" & orgName & ")"
    Dim oDescOrg
    Set oDescOrg = Description.Create()
    oDescOrg("micclass").Value = "WebElement"
    oDescOrg("html tag").Value = "SPAN"
    oDescOrg("class").Value = "overTreeRow"
    oDescOrg("innertext").Value = cString
    Set objCollection = Browser("Wtap2.0").Page("OrganizePage").Frame("Frame").WebTable("税务机关").ChildObjects(oDescOrg)
    objCollection(0).Click
End Function

方法3:
将对象添加到对象库
Browser("Wtap2.0").Page("OrganizePage").Frame("Frame").WebTable("税务机关").WebElement("1010000(北京市国税局)").Click

方法1和方法2 都不能获取到我需要点击的这个对象;
方法3可以点击到这个对象,说明对象库里的熟悉是可以识别对象的,那么估计是因为这个机构名称里面有括号,而在使用描述性编程时,这里需要转义?

所以把cString = orgId & "(" & orgName & ")"改为:cString = orgId & "\(" & orgName & "\)"就可以了

wugecat 发表于 2010-10-28 16:43:27

本帖最后由 wugecat 于 2010-10-28 17:00 编辑

方法1你写错了引号..方法2是可以的解决的吧正则表达式的.RegularExpression = False 就可以

skyzhu 发表于 2010-10-28 16:50:52

默认正则是开的,所以会这样

FLY000 发表于 2010-10-28 17:47:59

把cString = orgId & "(" & orgName & ")"改为:cString = orgId & "\(" & orgName & "\)"就可以了
页: [1]
查看完整版本: 描述性编程中,字符串中带有括号的要转义