У меня есть проблемные кнопки на странице, которые иногда не нажимаются с первого раза. Хотя селенид думает что нажал их. Обходным решением для этого я сделал переодическое нажатие на кнопку пока она не исчезнет
while ($(By.xpath(field)).exists()& $(By.xpath(field)).is(Condition.visible)&$(By.xpath(field)).is(Condition.enabled)){
$(By.xpath(field)).click();
sleep(500);
И для одного случая этого хватает, но появился другой случай, когда после нажатия на кнопку появляется попап и условия для while остаются true, НО далее все падает по ElementClickInterceptedException, оно и логично его перекрывает попап, но селенид все равно считает что элемент visible, enabled! Я пытался словить это исключение и меня бы это устроило, но оно не отлавливается даже когда я ставил самое высокоуровневое Exeption!
while ($(By.xpath(field)).exists()& $(By.xpath(field)).is(Condition.visible)& $(By.xpath(field)).is(Condition.enabled)){
try {
$(By.xpath(field)).click();
slepeeeLong(500);
}catch (ElementClickInterceptedException e){
return;
}
}
Подскажите, есть ли у селенида проверка на то что элемент перекрыт? Либо может кто значет как отлавливать это исключение? Либо еще какие ни будь лайфхаки для моего кейса?