Selenium如何定位内部无内容的空元素?
定位空内容的
<b>元素解决方案 你之前的XPath存在语法问题:XPath中判断相等使用单个等号而非两个,同时空元素的判断可以采用更可靠的方式。以下几种方法都能准确定位目标空<b>元素:
使用
not(text())判断元素无文本内容:findElement(By.xpath("//div[contains(@class,'top')]/b[not(text())]"))使用
string-length(text())=0检查文本长度为0:findElement(By.xpath("//div[contains(@class,'top')]/b[string-length(text())=0]"))如果元素可能包含空白字符(比如换行、空格),用
normalize-space(text())=''去除空白后判断:findElement(By.xpath("//div[contains(@class,'top')]/b[normalize-space(text())='']"))
另外,若该父<div>下只有这一个<b>标签,也可以直接简化定位:
findElement(By.xpath("//div[contains(@class,'top')]/b"))
内容的提问来源于stack exchange,提问作者codename_zoe
相关产品推荐
相关产品推荐

