我想确保在webdriver开始执行操作之前存在一个元素.
我正试图让这样的东西起作用:
WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));
Run Code Online (Sandbox Code Playgroud)
我主要是在努力设置如何设置任何功能..
(从Java-Selenium迁移到C#-Selenium)
当使用Selenium和C#搜索显式等待时,我发现几个帖子的代码看起来类似于Java-Counterpart:
例如这里:
WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));
Run Code Online (Sandbox Code Playgroud)
或者在这里:
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("locator")));
Run Code Online (Sandbox Code Playgroud)
WebDriverWait来自OpenQA.Selenium.Support.UI命名空间,并且位于一个名为Selenium WebDriver支持类的单独包中
但是:
当我尝试在Visual Studio中编写代码(通过NuGet获取Selenium包)时,WebDriverWait在我的代码中使用将提示消息:
找不到类型或命名空间名称'WebDriverWait'(您是否缺少using指令或程序集引用?)
即使我通过包括Selenium参考
using OpenQA.Selenium;
Run Code Online (Sandbox Code Playgroud)
在查找WebDriverWait的文档时,您会发现应该有一个名为的命名空间
OpenQA.Selenium.Support.UI
但我无法通过代码中的"使用"访问它.
为什么会这样?我在哪里可以找到WebDriverWait类?