Sto testando un'interfaccia utente in cui l'utente fa clic su un pulsante di eliminazione e una voce di tabella scompare. In quanto tale, voglio essere in grado di verificare che la voce della tabella non esista più.Come attendere che un elemento non esista più in Selenium
Ho provato a utilizzare ExpectedConditions.not()
per invertire ExpectedConditions.presenceOfElementLocated()
, sperando che significherebbe "aspettarsi che non ci sia una presenza dell'elemento specificato". Il mio codice è in questo modo:
browser.navigate().to("http://stackoverflow.com");
new WebDriverWait(browser, 1).until(
ExpectedConditions.not(
ExpectedConditions.presenceOfElementLocated(By.id("foo"))));
Tuttavia, ho scoperto che anche facendo questo, ho un TimeoutExpcetion
causato da un NoSuchElementException
dicendo che l'elemento "foo" non esiste. Certo, non avere questo elemento è ciò che voglio, ma non voglio che venga lanciata un'eccezione.
Quindi, come posso aspettare che un elemento non esista più? Preferirei un esempio che non faccia affidamento su un'eccezione se possibile (a quanto ho capito, le eccezioni dovrebbero essere lanciate per un comportamento eccezionale).
errore di sintassi dispari nel codice precedente: Errore di sintassi, inserire"; " per completare BlockStatements –