Java 为什么我的方法找到表达式4次而不是单个结果?
我检查了页面的来源,搜索的文本不超过2个(一个作为链接找到,另一个在简短描述中找到)。所以我真的不知道为什么我的方法会返回4个结果:/ 代码如下:Java 为什么我的方法找到表达式4次而不是单个结果?,java,selenium-webdriver,xpath,Java,Selenium Webdriver,Xpath,我检查了页面的来源,搜索的文本不超过2个(一个作为链接找到,另一个在简短描述中找到)。所以我真的不知道为什么我的方法会返回4个结果:/ 代码如下: public int isTextPresent(String text) { List<WebElement> foundElements = driver.findElements(By.xpath("//*[text()[contains(.,'" + text + "')]]")); return foundEle
public int isTextPresent(String text) {
List<WebElement> foundElements = driver.findElements(By.xpath("//*[text()[contains(.,'" + text + "')]]"));
return foundElements.size();
}
public int isTextPresent(字符串文本){
List foundElements=driver.findelelements(By.xpath(“/*[text()[contains(,““+text+”)]”)]);
返回foundElements.size();
}
您知道这段代码/xpath有什么问题吗?我稍微改变了方法,现在它工作正常:)
public int isTextPresent(字符串文本){
List fe=driver.findElements(By.partialLinkText(text));
返回fe.size();
}
您尝试使用相同的xpath进行搜索?那是什么文本,页面/HTML是什么?如果没有这些信息,我们怎么知道你的代码出了什么问题?@Andersson我已经添加了信息。当使用chrome打开页面并测试你提供的xpath时,会显示两个结果。如果您提供更多的代码,可能会发现问题我只能看到2个结果。。。也许可以尝试使XPath更加具体化//a[包含(,““+text+”)]
或者您可以按partialLinkText:按.partialLinkText(text)
搜索,以仅获取包含所需文本的可见链接
public int isTextPresent(String text) {
List<WebElement> fe = driver.findElements(By.partialLinkText(text));
return fe.size();
}