HTML Code:
<div id="ajax_listOfOptions" style="display: block; top: 243px; left: 373px; z-index: 10009;">
<div id="13020007" class="optionDivSelected">Infosys Ltd.</div>
<div id="14094980" class="optionDiv">India Infrastructure Trust</div>
<div id="13020033" class="optionDiv">Tata Consultancy Services Ltd.</div>
<div id="12150008" class="optionDiv">Reliance Industries Ltd.</div>
<div id="14030001" class="optionDiv">State Bank of India</div>
<div id="14030055" class="optionDiv">HDFC Bank Ltd.</div>
<div id="12520002" class="optionDiv">Hindustan Unilever Ltd.</div>
<div id="14080001" class="optionDiv">Housing Development Finance Corporation Ltd.</div>
<div id="14030056" class="optionDiv">ICICI Bank Ltd.</div>
<div id="14060023" class="optionDiv">Bajaj Finance Ltd.</div>
</div>
Sample Code:
List<WebElement>li=driver.findElements(By.id("ajax_listOfOptions"));
for(WebElement wb:li)
{
if(wb.getText().contains("Tata"))
System.out.print(wb.getText());
}
This should only print the string that contains "Tata"(i.e. Tata Consultancy Services), but the code is printing all the string in the list
Note: The list contains strings populated with ajax auto suggestions.
Output:
Infosys Ltd.
India Infrastructure Trust
Tata Consultancy Services Ltd.
Reliance Industries Ltd.
State Bank of India
HDFC Bank Ltd.
Hindustan Unilever Ltd.
Housing Development Finance Corporation Ltd.
ICICI Bank Ltd.
Bajaj Finance Ltd.