jQuery精确匹配文本元素
2020-09-12 本文已影响0人
非鱼2018
自动化测试中,经常要是用js来模拟元素点击。
定位包含文本元素通常可以这样写。
如:$('a:contains(test)')[0].click()来实现
但会有一个问题,这样只能模糊匹配
比如,我有两个链接,一个叫test,一个叫autotest
这是就会出现问题,就会定位出两个元素
可以使用jeueqy的fliter或map方法来实现精确匹配
a1=$("a:contains('test')").map(function(){
if ($(this).text() == 'test') {
return this;
}
});
alert(a1.length);
或者直接点击
$("a:contains('test')").filter(function(){
if ($(this).text() == 'test') {
this.click()
}
});