Le sélénium C# Webdriver Comment détecter si un élément est visible

Est-il un moyen dans la dernière version de Sélénium DotNet Webdriver (2.22.0) pour vérifier si un élément est visible avant de cliquer sur/en interaction avec elle?

Le seul moyen que j'ai trouvé est d'essayer de gérer le ElementNotVisible exception qui se produit lorsque vous essayez d'envoyer des touches, ou cliquez sur elle. Malheureusement, cela se produit uniquement après une tentative d'interagir avec l'élément a été faite. Je suis en utilisant une fonction récursive pour trouver des éléments avec une certaine valeur, et certains de ces éléments ne sont visibles que dans certains scénarios (mais leur code html est toujours là, peu importe ce que, donc ils peuvent être trouvés).

C'est ma compréhension que le RenderedWebElement classe est obsolète comme bien d'autres variantes. Donc pas de casting pour que.

Grâce.

Il devrait y avoir un WebElement.isDisplayed() pour vérifier si l'élément est visible
Malheureusement attraper exception est le chemin à parcourir. Affiche et les Permis ne sont pas toujours rendre exploitables à l'élément, ce qui signifie que l'élément peut être à la fois affiché et activé mais toujours pas cliquable par exemple. Cela se produit lorsque l'élément est hors de la vue (dans certains navigateurs), et ce que vous devez généralement à faire est de faire défiler jusqu'à l'élément de sorte qu'il devient visible.

OriginalL'auteur user1442482 | 2012-06-07