Skip to content
A set of C#/.NET extension methods and other extra classes for Selenium WebDriver
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Increase project version number to 1.2.0 Apr 11, 2019
LICENSE Update Apr 10, 2019
azure-pipelines.yml Update azure-pipelines.yml Mar 22, 2019


NuGet GitHub release Build status Gitter Slack Atata docs Twitter

A set of C#/.NET extension methods and other extra classes for Selenium WebDriver. Is a part of Atata Framework.

Supports .NET Framework 4.0+ and .NET Core/Standard 2.0+.


Add Atata namespace:

using Atata;

Use extension methods for IWebDriver, IWebElement, By, etc.:

RemoteWebDriver driver = GetSomeDriver();

// Sets the retry timeout as 7 seconds. The default value of the timeout is 5 seconds.

// Get the visible element within 7 seconds. Throws NoSuchElementException if the element is not found.
IWebElement element1 = driver.Get(By.Id("some-id"));

// Get the visible element safely (without throw on failure) within 7 seconds. Returns null if the element is not found.
IWebElement element2 = driver.Get(By.XPath(".//some[xpath]").Safely());

// Get all the visible elements within 15 seconds.
ReadOnlyCollection<IWebElement> elements = driver.GetAll(By.ClassName("some-class").Within(TimeSpan.FromSeconds(15)));

// Get the hidden element safely at once (without retry).
IWebElement element3 = driver.Get(By.CssSelector(".some-css").Hidden().Safely().AtOnce());

// Get the element of any visibility unsafely at once.
IWebElement element4 = driver.Get(By.Id("another-id").OfAnyVisibility().AtOnce());

// Gets a value indicating whether the element exists at once.
bool isElementExists = driver.Exists(By.Name("some-name").Safely().AtOnce());

// Waits until the element will be missing within 15 seconds; else throws NotMissingElementException.

// Get the element using the chain of By.
IWebElement element5 = driver.Get(By.Id("root-container").


Atata is an open source software, licensed under the Apache License 2.0. See LICENSE for details.

You can’t perform that action at this time.