我使用硒进行自动化测试
我用以下代码来验证搜索列表中是否存在名称
searchList = driver.findElements(By.cssSelector(searchListLocator));
logger.log("Size of list : " + searchList.size());
for (WebElement searchItem : searchList)
{
logger.log("Search Item name :" + searchItem.getText())
if (searchItem.getText().trim().compareTo(name) == 0)
{
inResult = true;
logger.log("Exact match found in the list");
break;
}
}
有时我得到了Size of list : 11
,但searchItem.getText()
是一个空字符串
答案 0 :(得分:1)
'<br/>'
'<a hre='...'><img .../></a>'
。getText()
仅返回可见的文字。答案 1 :(得分:1)
尽量不要使用getText
,而是使用带有xpath表达式的findElement
,例如"//li[contains(., 'your_name_expected_to_be_in_searchlist')]"
。
因此,你的循环将遍历期望的名称,并尝试在searchList中找到它们作为元素,用xpath的contains
方法描述。
答案 2 :(得分:0)
Little modification in your code-
for (WebElement searchItem : searchList)
{
logger.log("Search Item name :" + searchItem.getText())
for(int i=0;i<searchItem.size();i++)
{
if(searchItem.get(i).getText().equals(name)))
inResult = true;
logger.log("Exact match found in the list");
break;
}
}