Czy istnieje sposób w najnowszej wersji Selenium DotNet Webdriver (2.22.0), aby sprawdzić, czy element jest widoczny przed kliknięciem/interakcją z nim?Selenium C# Webdriver Jak wykryć, czy element jest widoczny?
Jedynym sposobem, jaki znalazłem, jest próba obsługi wyjątku ElementNotVisible, który występuje podczas próby wysłania kluczy lub kliknięcia w niego. Niestety pojawia się to dopiero po podjęciu próby interakcji z elementem. Używam funkcji rekursywnej do znajdowania elementów o określonej wartości, a niektóre z tych elementów są widoczne tylko w niektórych scenariuszach (ale ich html nadal istnieje bez względu na to, więc można je znaleźć).
Rozumiem, że klasa RenderedWebElement jest nieaktualna, a także inne warianty. Więc nie rzucaj się do tego.
Dzięki.
Nie powinno być WebElement.isDisplayed(), aby sprawdzić, czy element jest widoczny –
Niestety łowienie Wyjątkiem jest droga. Wyświetlane i włączane nie zawsze wyświetlają element, który można aktywować, co oznacza, że element może być wyświetlany i włączany, ale nadal nie można go kliknąć. Dzieje się tak, gdy element jest poza widokiem (w niektórych przeglądarkach), a zwykle wystarczy przewinąć element, aby stał się widoczny. – ljgww