如何缩短多语言支持的xpath,具有相同的属性和多个值,但使用包含函数?

How to shorten xpath for multilingual support having same attribute with multiple values but using contains function?

提问人:Prosure 提问时间:9/5/2023 最后编辑:Mate MršeProsure 更新时间:9/12/2023 访问量:22

问:

早些时候,我对某个图像元素的 xpath 是用包含英语单词的文本编写的。

现在,在白话的支持下,它已经延长了。 寻求帮助以缩短它。

XPath 支持英语:

//android.widget.TextView[contains(@text,'Web') and contains(@text,'Result')]/preceding-sibling::android.widget.ImageView[@index=0];

XPath 也支持泰米尔语:

//android.widget.TextView[(contains(@text,'வெப்') or contains(@text,'Web')) and (contains(@text,'விளைவாக') or  contains(@text,'Result') )]/preceding-sibling::android.widget.ImageView[@index=0];

有什么方法可以缩短上面的Xpath吗?如下所示(但不完全使用管道):

//android.widget.TextView[contains(@text,'Web'|'வெப்') and contains(@text,'Result'|'விளைவாக')]/preceding-sibling::android.widget.ImageView[@index=0];
文本 属性 多语言 XPath-2.0

评论


答:

0赞 Martin Honnen 9/5/2023 #1

有 XPath 2.0 函数,例如 .matchesmatches(@text,'வெப்|Web')