如何处理 text 中前后包含空格的 xpath

2020-05-06  本文已影响0人  我是石巍

UI 自动化测试过程中需要抓一些没有 ID 没有 NAME 的元素,通常会通过抓取 text() 的值来确定元素。

//*[text()="这是目标元素"]

但是,当使用 text()="这是目标元素" 的时候,有时候会由于开发代码不规范,或者在不同版本研发过程中使用了不同版本的样式框架,导致 text() 的内容出现了前后空格或者换行的情况,使得 text()="这是目标元素" 无法匹配到 text()=" 这是目标元素 " 的元素。

虽然可以使用 contains() ,但应尽量避免,以防止出现字符串真正出现包含的场景。

解决方案

使用 normalize-space()
//*[normalize-space(text())="这是目标元素"]

normalize-space() 可以删除字符串前后的空格,有效避免上述情况导致的自动化代码异常。

上一篇 下一篇

猜你喜欢

热点阅读