No Selenium Webdriver, ExpectedCondition.elementToBeClickable não está esperando até que a barra de progresso desapareça

Esta pergunta é semelhante à abaixo:
ou seja, como esperar até a barra de progresso desaparecer.
Como esperar dinamicamente até que a barra de progresso seja carregada completamente no Selenium Webdriver?

O meu é um pouco diferente. Aqui, quando a barra de progresso aparece, todos os elementos estão desativados. Então, estou usando a espera explícita, mas ainda obtendo a exceção.

Cenário: Na página de inscrição, após fornecer todos os detalhes, o script clica no botão "Criar conta". Nesse instante, uma barra de progresso circular aparece e persiste por 1 ou 2 segundos. Se a senha digitada for inválida (estou validando apenas com senhas inválidas), uma mensagem de erro será exibida na parte superior da página de inscrição. Agora preciso clicar no botão "Cancelar" e repetir o processo.

Quando a barra Progresso aparecer, a página inteira será desativada. Somente após o desaparecimento da barra de progresso, o usuário poderá continuar.

Eu escrevi código para o mesmo usando o WebDriverWait como abaixo:

WebDriverWait myWaitVar = new WebDriverWait(driver,20);

Depois de clicar no botão "Criar conta", a barra de progresso aparece e estou aguardando o botão Cancelar aparecer.

//Click on Create Account btn:
driver.findElement(By.id("createAccount")).click();

//Wait till "Cancel" button is showing up. At cases, it may take some time.
myWaitVar.until(ExpectedConditions.elementToBeClickable (By.id("cancelRegister")));

//click on Cancel btn:
driver.findElement(By.id("cancelRegister")).click();

Quando executo o código acima, toda vez que estou recebendoNoSuchElementException na última linha.

Eu tentei comExpectedCondition.visibilityOfElement() mas aqui também estou ficandoNoSuchElementException.

Então tentei usar o método sleep em vez de esperar.

Thread.sleep(3000);

Agora o script está funcionando bem.

Eu não conseguia entender o porquêWebDriverWait não esperou até a barra de progresso desaparecer?

Ele analisou com êxito oelementToBeClickable() mas ainda lançando exceção, quando clicamos nela.

questionAnswers(2)

yourAnswerToTheQuestion