I am trying to fetch data from Handsontable. The table contains 700 data, however when i am locating through the Xpath, At first only 27 data found out of 55 and when i scroll down it changes to 22 out of 40. every time its taking random data. Below I have tried to create a scroll and getColumnData functions.
private void scrollDown() {
JavascriptExecutor js = (JavascriptExecutor) driver();
js.executeScript("arguments[0].scrollIntoView({block: 'center'});", rows().get(rows().size()-1));
}
protected LinkedList<WebElement> getColumnWebElement(String columnName)
{
LinkedList<WebElement> columnElement = new LinkedList<WebElement>();
int indexColumn = getLocationOfColumnInHeader(columnName) + 3;
WebElement headerRow = this.headerRow();
List<WebElement> rows = this.rows();
System.out.println(this.rows());
for (WebElement currentRow : rows)
if (currentRow != headerRow)
{
scrollDown();
WebElement td = driver.getValidatedElementNoWait(currentRow, By.xpath("./td[" + indexColumn + "]"));
if (td != null)
{
columnElement.add(td);
}
}
return columnElement;
}
Is there anyway to read all dynamic changing data based on Column name.
Thanks in Advance!