Verifique se o elemento existe no selenium

Eu quero verificar se existe um elemento no Selenium e, se isso acontecer, atribuí-lo a um nome.

Agora eu tenho algo parecido com isto:

IWebElement size9 = driver.FindElement(By.CssSelector("a[data-value*='09.0']")); 

No entanto, quando esse elemento que possui o valor de 9 não existe, ele retorna um erro. Existe uma maneira que eu possa verificar para ver se existe, ou algo desse tipo?

Existem várias opções. Eu recomendo estes.
1. Crie um método ou uma extensão de driver da web.

 public static IWebElement FindElementIfExists(this IWebDriver driver, By by) { var elements = driver.FindElements(by); return (elements.Count >=1) ? elements.First() : null; } // Usage var element = driver.FindElementIfExists(By.CssSelector("a[data-value*='09.0']")); 

2. Conte o elemento, obtenha se houver 1 ou mais elementos.

 By by = By.CssSelector("a[data-value*='09.0']"); var element = driver.FindElements(by).Count >= 1 ? driver.FindElement(by) : null; 

Então você pode verificar if(element != null) { ... }

Você deveria ser capaz de fazer algo como:

  public static bool IsElementPresent_byCssSelector(string elementName) { try { Driver.FindElement(By.CssSelector(elementName)); } catch (NoSuchElementException) { return false; } catch (StaleElementReferenceException) { return false; } return true; } var test = driver.IsElementPresent_byCssSelector("a[data-value*='09.0']"); if(test) { //do something }