C# 硒网络驱动程序 chrome 驱动程序等到模式窗口完全消失



我目前正在使用带有C#网络驱动程序的chrome驱动程序。 我面临的问题之一是等待"存在"或"可见"在我的情况下不起作用,因为模态窗口需要一些时间才能消失。 我收到此错误:

System.InvalidOperationException: 未知错误: 元素在点 (x,x) 处不可单击。其他元素将收到点击:

原因是在我单击"确定/取消"后,模态背景仍然存在几秒钟,但是背景后面的元素是可见的,并且可以单击到硒。

那么,我如何"等待"直到模态背景完全消失后再尝试单击其后面的内容? 这不是原生的JavaScript模式。 这是一个花哨的第三方模式,可以通过透明的"封面"滑入和滑出视图,防止在打开时单击其他任何内容。

您可以使用 ExpectConditions API,例如:

var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(1));
var element = wait.Until(ExpectedConditions.ElementIsClickable(By.Id("elementId")));

这将在 1 分钟内尝试,直到元素可单击并且没有发生,它将引发异常。