Код направлен на проверку нахождения элемента на текущей странице, но если элемент не находится он всеравно выходит по зеленой ветке, как сделать так чтобы он выходил по красной в случае "ненахода"?
Проверяйте логику и наличие элементов, может внутрь if не заходит и условие не срабатывает. Или просто используйте отдельную переменную в которую помещайте значение, нашелся элемент или нет, а потом сравнивайте значение из этой переменной.
Заметил, что цикл у вас есть, а значение i внутри цикла, нигде не используется.
HtmlElement he;
for(int i=0;i<5;i++)
{
he = instance.ActiveTab.FindElementByAttribute("span","innertext","-","regexp",0);
if(!he.IsVoid)
{
break; //если элемент нашли — цикл прерываем
}
//Если в последней итерации цикла элемент не найден — исключение
if(i=4 && he.IsVoid) throw new Exception("HtmlElement not found");
System.Threading.Thread.Sleep(1000);
}