我正在编写一个脚本来测试使用C#和selenium的网站。我有一个问题,页面不会立即加载所有元素,所以我的代码产生一个错误异常,该元素不存在。有没有办法让我的代码暂停并等待所有元素加载,或者设置一个固定的等待时间?
我尝试了一些类似的事情:
regexp_extract
但我不认为它有效。
答案 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毫秒(默认情况下)检查其存在。