Selenium C # Webdriver Wie erkennt man, ob das Element sichtbar ist?

8

Gibt es einen Weg in der neuesten Version von Selenium DotNet Webdriver (2.22.0) zu überprüfen, ob ein Element sichtbar ist, bevor Sie darauf klicken / interagieren?

Der einzige Weg, den ich gefunden habe, ist zu versuchen, die ElementNotVisible-Ausnahme zu behandeln, die auftritt, wenn Sie versuchen, Schlüssel zu senden, oder klicken Sie darauf. Leider tritt dies erst auf, nachdem ein Versuch unternommen wurde, mit dem Element zu interagieren. Ich benutze eine rekursive Funktion, um Elemente mit einem bestimmten Wert zu finden, und einige dieser Elemente sind nur in bestimmten Szenarien sichtbar (aber ihr HTML ist immer noch da, egal was, so dass sie gefunden werden können).

Ich verstehe, dass die RenderedWebElement-Klasse ebenso wie andere Varianten veraltet ist. Also kein Casting dazu.

Danke.

    
user1442482 07.06.2012, 14:55
quelle

1 Antwort

19

Für Java gibt es isDisplayed () auf dem RemoteWebElement - und isEnabled ()

In C # gibt es ein Displayed & amp; Aktivierte Eigenschaft

Beide müssen wahr sein, damit ein Element auf der Seite und für einen Benutzer sichtbar ist.

Im Falle von "HTML ist immer noch da, egal was, so dass sie gefunden werden können", überprüfen Sie einfach BOTH isDisplayed (Java) / Angezeigt (C #) und isEnabled (Java) / Enabled (C #).

Beispiel in C #:

%Vor%     
Arran 07.06.2012, 16:34
quelle