public bool selectByOptionText(By locator, string value, string locatorName)
{
bool flag = false;
try
{
WebElement ListBox = driver.FindElement(locator);
IReadOnlyCollection <WebElement> options = ListBox.FindElements(By.TagName("option"));
foreach (var option in options)
{
string opt = option.Text.Trim();
if (opt.ToLower().Equals(value.ToLower().Trim()))
{
option.Click();
flag = true;
break;
}
}
}
catch (Exception e)
{
System.Drawing.Imaging.ImageFormat format = System.Drawing.Imaging.ImageFormat.Jpeg;
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(Path.Combine(projectLoc, TestContext.CurrentContext.Test.Name + "-" + DateTime.Now.ToString("dd-M-yyyy", CultureInfo.InvariantCulture) + "." + format), format);
throw new Exception("Option with value attribute " + value + " is Not Select from the DropDown " + locatorName + " " + e.Message);
}
return(flag);
}