я понимаю что тут один элемент используется дважды, под разным описанием и это костыль, и по хорошему надо просто проверять видим элемент или нет, но проверка на видимость всегда показывает что элемент виден, даже если его нет на странице.
public void travelPol(){
if (yesTp.isEnabled()) {
yesTp.click();
}
во втором варианте элемента нет, но он заходит в метод как будто элемент есть, и соответственно не может на него кликнуть так как его нет, и тест падает
Я задам свой обычный вопрос: а нафига в тесте if? В тесте не должно быть if. Тест - это не программа, не алгоритм, не оракул; тест должен точно знать, что проверять. Если должен быть элемент - кликай его. Если его нет - вались.
P.S. А вообще-то делается на Selenide в две строчки без всяких чёртовых ожиданий: