自从更新到 Marionette 驱动程序。Firefox 不再等待。基本上我希望它登录,等待页面加载,然后通过在页面上找到“注销”来检查它是否已登录。这是我的设置
// navigate to url "http://..."
// Find Log In button and .Click()
WebDriverWait wait = new WebDriverWait(driver, System.TimeSpan.FromSeconds(30));
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
// Assert if the page contains "Log out"
发生的事情是在它点击登录之后,它没有等待页面加载,所以它会抛出一个错误,因为它找不到“注销”
我强调该代码适用于较旧的 Firefox 驱动程序(不是 Marionette)和 Chrome 的驱动程序。还有其他人遇到新的 Firefox 驱动程序不等待的问题吗?
抱歉,我应该更清楚一点,Firefox 驱动程序没有进行任何等待,因此等待现有元素也不起作用