помогите плиз - проверка и ожидание элемента

lzlmrf

Client
Регистрация
14.08.2015
Сообщения
488
Благодарностей
149
Баллы
43
int count = '0' ;
for (int p=0; p<12; p++)
{
var elements = instance.ActiveTab.FindElementsByAttribute("div","class","Content","text");
if (!elements.IsVoid){
count = elements.Count;
int ii = count - 50;
for (int i = ii;i<count;i++)
{
var set_ok = elements.GetByNumber(i);
set_ok.ScrollIntoView();
return 1;
}
}
System.Threading.Thread.Sleep(500);
return 2;
}
return count;
Подскажите знатоки. Насобирал с форума с разных мест)
код не ждет а просто выходит по красной без указания ошибки. ретюрнов поставил в надежде поймать место ошибки - но и его не выводит.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Первую строку лучше заменить на int count = 0;
Хоть это тут, кажется, ни на что и не влияет, но лучше так.
Так же стоит проверить, указана ли переменная, в которую будет записываться результат выполнения данного снипета.

1.JPG
 
  • Спасибо
Реакции: Dmffmd и lzlmrf

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 777
Благодарностей
1 447
Баллы
113
Пробуйте такой вариант:
C#:
var tab = instance.ActiveTab;
int p = 100; // сколько раз проверить
for(int i = 0; i < p; i++)
{
   var he = tab.FindElementByAttribute("a","href","site.com","text",0);
     if(!he.IsNull)
     {
       return "ok";
     }
System.Threading.Thread.Sleep(250); // пауза в милисекундах
}
throw new Exception(" Ошибка выходим по красной!");
 
  • Спасибо
Реакции: lzlmrf

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
Уберите красный выход и посмотрите, что будет выдавать код в ответ.
А так на первый взгляд всё правильно.
разве что переменная ii у Вас точно положительное число? Не может быть этих элементов меньше 50?
 
  • Спасибо
Реакции: lzlmrf

loshpek

Client
Регистрация
24.11.2016
Сообщения
83
Благодарностей
34
Баллы
18
Уберите красный выход и посмотрите, что будет выдавать код в ответ.
А так на первый взгляд всё правильно.
разве что переменная ii у Вас точно положительное число? Не может быть этих элементов меньше 50?
Когда вы уже сделаете чтобы ожидание элемента правильно работало когда есть выход по красной ветке?
Людям приходится себе голову ломать как это сделать!
 
  • Спасибо
Реакции: wizard

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)