让Selenium等待ajax/javascript调用C#

让Selenium等待ajax/javascript调用C#,javascript,c#,ajax,selenium,Javascript,C#,Ajax,Selenium,我正在尝试测试一个网站。在某些字段之后,将运行ajax脚本。我尝试了以下脚本: WebDriverWait waiter=new WebDriverWait(Driver, TimeSpan.FromSeconds(10)); waiter.Until(d => ((IJavaScriptExecutor) Driver).ExecuteScript("("return jQuery.active"").ToString().Equals("0")); 但是,ajax脚本有时会延迟一小段

我正在尝试测试一个网站。在某些字段之后,将运行ajax脚本。我尝试了以下脚本:

WebDriverWait waiter=new WebDriverWait(Driver, TimeSpan.FromSeconds(10));
waiter.Until(d => ((IJavaScriptExecutor) Driver).ExecuteScript("("return jQuery.active"").ToString().Equals("0"));
但是,ajax脚本有时会延迟一小段时间。这会导致它跳过此等待期。我想让selenium等到出现ajax调用,然后继续

我认为下一段代码可以工作,但我似乎遗漏了一些东西,因为它不工作

waiter.Until(d => !((IJavaScriptExecutor) Driver).ExecuteScript("("return jQuery.active"").ToString().Equals("0"));

感谢您的帮助

请看,可能会有帮助:您好@alecxe,谢谢您的回复!我看了整个线程,我仍然有问题。我可以添加一些类似wait.until(notvisible)的东西,但我真的希望有一种ajax手表,可以等到ajax调用完成。我找不到一种方法让它检查并等待ajax调用。最后,我让它尝试在文本字段中输入文本,检查文本是否为空,然后重试,直到正确输入文本。