您的当前位置:首页正文

android contains不分大小写,不区分大小写的xpath contains()可能吗?

2024-11-09 来源:个人技术集锦

这是针对XPath 1.0的。如果您的环境支持XPath 2.0,请参见此处。

是。可能,但是不漂亮。

/html/body//text()[

contains(

translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),

'test'

)

]

如果可以的话,请通过其他方式标记您感兴趣的文本部分,例如将其包含在具有特定类别的内。

如果这不可能,您可以让JavaScript帮助您构建适当的XPath表达式:

function xpathPrepare(xpath, searchString) {

return xpath.replace("$u", searchString.toUpperCase())

.replace("$l", searchString.toLowerCase())

.replace("$s", searchString.toLowerCase());

}

xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");

// -> "//text()[contains(translate(., 'TEST', 'test'), 'test')]"

Top