Es gibt einen Block Ui, der alle Elemente für ein paar Sekunden abdeckt, nachdem das Element im Browser generiert wurde, da dies ein Problem darstellt. Da Element entstanden ist, versucht der Web-Treiber, auf das Element zu klicken Der Klick wird von Block UI empfangen. Ich habe versucht, die Wartezeit zu verwenden, bis ich aber nicht half, da ich isClickAble in C # webdriver finden kann
%Vor%Gibt es C # -Aquivalent für isClickAble, Danke im Voraus
Nun, ich schaue mir die Java-Quelle an und sage mir, dass es im Grunde genommen zwei Dinge macht, um festzustellen, ob es "anklickbar" ist:
Zuerst wird es überprüft, ob es sichtbar ist, indem Sie den Standard ExpectedConditions.visibilityOfElementLocated
verwenden, es wird dann einfach überprüft, ob element.isEnabled()
true
ist oder nicht.
Dies kann leicht kondensiert werden, das bedeutet im Grunde (vereinfacht, in C #):
.Displayed
-Eigenschaft des Elements wahr ist (was im Wesentlichen der Wert ist, nach dem visibilityOfElementLocated
sucht). .Enabled
-Eigenschaft des Elements wahr ist (was im Wesentlichen das ist, wonach elementToBeClickable
sucht). Ich würde dies wie folgt implementieren (indem ich den aktuellen Satz von ExpectedConditions
hinzufüge, aber es gibt mehrere Möglichkeiten, dies zu tun:
Verwendbar in etwas wie:
%Vor%Sie könnten jedoch eine andere Vorstellung davon haben, was clickable bedeuten könnte. In diesem Fall funktioniert diese Lösung möglicherweise nicht - aber es ist eine direkte Übersetzung dessen, was der Java-Code tut.
Hier ist der Code, den ich verwende, um zu überprüfen, ob er anklickbar ist, sonst gehe ich zu einer anderen URL.
%Vor%Tags und Links c# selenium-webdriver webdriver