如何在c#中延迟或等待selenium脚本?

时间:2015-11-01 20:17:16

标签: c# selenium selenium-webdriver delay wait

我正在编写一个脚本来测试使用C#和selenium的网站。我有一个问题,页面不会立即加载所有元素,所以我的代码产生一个错误异常,该元素不存在。有没有办法让我的代码暂停并等待所有元素加载,或者设置一个固定的等待时间?

我尝试了一些类似的事情:

regexp_extract

但我不认为它有效。

1 个答案:

答案 0 :(得分:0)

等待的固定时间根本不可靠。相反,您询问Explicit Wait functionality - 明确等待满足某些预期条件 - 例如,等待特定元素变为存在或可见。例如:

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3))
IWebElement element = wait.Until(driver => driver.FindElement(By.Name("q")));

在此示例中,selenium webdriver将等待最多 3秒,以使名称为“q”的元素每隔500毫秒(默认情况下)检查其存在。