如何基于文本定位元素?无需Xpath实现重复DOM元素精准识别
无需使用Xpath,可基于文本内容识别目标元素
当然可以,你可以借助CSS选择器的:contains()伪类,结合已有的类选择器来精准定位目标元素,具体写法如下:
- 定位包含
qa-testData1的元素:span[class*='tree-oooo-name']:contains('qa-testData1') - 定位包含
qa-testData2的元素:span[class*='tree-oooo-name']:contains('qa-testData2')
补充说明
- 主流现代浏览器(Chrome、Firefox等)均支持
:contains()伪类,能正常匹配包含指定文本的元素。 - 若使用的测试工具对CSS伪类支持有限,也可以通过执行JavaScript代码来实现定位(以Selenium为例):
// 定位qa-testData1元素 driver.executeScript("return document.querySelector('span[class*=\"tree-oooo-name\"]:contains(\"qa-testData1\")')");
内容的提问来源于stack exchange,提问作者Manjunath M
相关产品推荐
相关产品推荐

