C'è un modo nell'ultima versione di Selenium DotNet Webdriver (2.22.0) per verificare se un elemento è visibile prima di fare clic su/interagire con esso?Selenium C# Webdriver Come rilevare se l'elemento è visibile
L'unico modo che ho trovato è provare a gestire l'eccezione ElementNotVisible che si verifica quando si tenta di inviare chiavi o fare clic su di esso. Sfortunatamente ciò si verifica solo dopo aver tentato di interagire con l'elemento. Sto usando una funzione ricorsiva per trovare elementi con un certo valore, e alcuni di questi elementi sono visibili solo in determinati scenari (ma il loro html è ancora lì indipendentemente da cosa, in modo che possano essere trovati).
È a mia conoscenza che la classe RenderedWebElement è deprecata e altre varianti. Quindi niente casting per quello.
Grazie.
Ci dovrebbe essere un WebElement.isDisplayed() per verificare se elemento è visibile –
Purtroppo la cattura eccezione è strada da percorrere. Visualizzato e abilitato non sempre rende l'elemento utilizzabile, il che significa che l'elemento può essere sia visualizzato che abilitato ma non ancora cliccabile, ad esempio. Questo accade quando l'elemento è fuori dalla vista (in alcuni browser) e ciò che devi fare in genere è scorrere fino all'elemento in modo che diventi visibile. – ljgww