Answer a question

(Migrating from Java-Selenium to C#-Selenium)

When searching for explicit waits with Selenium and C# I find several posts with code that looks similar to the Java-Counterpart:

for example here:

WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));

or here:

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("locator")));

WebDriverWait are from the OpenQA.Selenium.Support.UI namespace and comes in a separate package called Selenium WebDriver Support Classes

BUT:
When I try to code this myself in Visual Studio (getting Selenium package via NuGet), using WebDriverWait in my code will prompt the message:

The type or namespace name 'WebDriverWait' could not be found (are you missing a using directive or an assembly reference?)

Even though I am including the Selenium reference via

using OpenQA.Selenium;

When looking up the documentation for WebDriverWait you will find, that there should be a namespace called

OpenQA.Selenium.Support.UI

But I cannot access it via "using" in my code.

Why does this happen? Where can I find the WebDriverWait class?

Answers

Luckily I sometimes read the comments to answers as well, so I stumbled across the solution within the highest ranked comment here:

WebDriverWait [is] from the OpenQA.Selenium.Support.UI namespace and comes in a separate package called Selenium WebDriver Support Classes on NuGet

Thanks @Ved!

In Visual Studio this means, that you need to install TWO packages:

  • NuGet package "Selenium.WebDriver" AND ALSO
  • NuGet package "Selenium.Support"

Coming from Java with Maven, this is not trivial (at least to me ;-), because until now I just needed to include one and only one dependency to get "all of the good stuff" like this:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.46.0</version>
</dependency>

* Posted this as a question including the answer because it cost me too much time and luck to stumble over the answer.

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐