public int GetColumnPosition(string columnname) { ColumnNames.ContainsIgnoreCase(columnname).Should().BeTrue($"The column name specified [{columnname}] does not exist in the Grid"); return(RawElement.FindElements(By.CssSelector("thead>tr>th")).Union(RawElement.FindElements(By.CssSelector("tbody>tr>th"))) .Select(x => x.Text) .Select((name, index) => new { Name = name, Index = index }) .Where(x => x.Name.Contains(columnname, StringComparison.CurrentCultureIgnoreCase)) .Select(x => x.Index) .FirstOrDefault() + 1); }
public TableControl( IWebDriver driver, By selector, BaseControl parentControl = null, By loadWaitingSelector = null) : base(driver, selector, parentControl) { { if (WaitUntilElementVisible(waitTimeSec: 2, throwExceptionWhenNotFound: false)) { _totalColumns = RawElement.FindElements(By.CssSelector("thead>tr>th")).Count; } else { RenderedInUi = false; } } LoadWaitingSelector = loadWaitingSelector; }