Помогите со снипом

backoff

Client
Регистрация
20.04.2015
Сообщения
5 914
Благодарностей
6 381
Баллы
113
Ку
Многие встречают проблему, когда не хватает канала интернета или происходит временный дисконнект и мы видим - This site can't be reached
Помогите объединить 2 снипа в один

Нужен сниппет, который бы проверял страницу на это, он уже есть - https://zennolab.com/discussion/threads/podskazhite-snippet-proverki-teksta-na-stranice.83939/post-564171
И снип который бы обновлял страницу, вроде как этот - https://zennolab.com/discussion/threads/this-site-cant-be-reached.87710/post-589005

Короче говоря, логика, снип
1. проверяет текст на странице "This site can't be reached"
2. если есть, то делает обновление
3. ждет N секунд
4. уходит снова на цикл проверки N раз
5. если, условно, за 5 проверок и обновлений страницы ничего не произошло, то выходит по красной


спасибо
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
741
Баллы
113
Ку
Многие встречают проблему, когда не хватает канала интернета или происходит временный дисконнект и мы видим - This site can't be reached
Помогите объединить 2 снипа в один

Нужен сниппет, который бы проверял страницу на это, он уже есть - https://zennolab.com/discussion/threads/podskazhite-snippet-proverki-teksta-na-stranice.83939/post-564171
И снип который бы обновлял страницу, вроде как этот - https://zennolab.com/discussion/threads/this-site-cant-be-reached.87710/post-589005

Короче говоря, логика, снип
1. проверяет текст на странице "This site can't be reached"
2. если есть, то делает обновление
3. ждет N секунд
4. уходит снова на цикл проверки N раз
5. если, условно, за 5 проверок и обновлений страницы ничего не произошло, то выходит по красной


спасибо
Немного другой вариант не подойдет.


C#:
HtmlElement he = null;
for (int i = 0; i<2; i++) // сколько попыток делать
{
    var tab = instance.ActiveTab;
    tab.Navigate(project.Variables["url"].Value);
//    System.Threading.Thread.Sleep(4 * 1000);
    if (tab.IsBusy) tab.WaitDownloading();
//    he = tab.FindElementByAttribute("select","name","locationId","text",0);// прописать свои параметры поиска элемента
    he = tab.FindElementByXPath(project.Variables["XPath"].Value, 0);// прописать свои параметры поиска элемента
    
    if (!he.IsNull)
    {
            return "OK";
    }
    Thread.Sleep(7000); // пауза между попытками
}
return null;
 
  • Спасибо
Реакции: phoenixs

backoff

Client
Регистрация
20.04.2015
Сообщения
5 914
Благодарностей
6 381
Баллы
113
я так понимаю это общий снип поиска текста на странице с определенным урлом?
Нет обновления, если встретил условие
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
C#:
Tab tab = instance.ActiveTab;
string url = "";//сюда url
int wait = 2;//сколько минут ждать соединение
System.Diagnostics.Stopwatch timer = System.Diagnostics.Stopwatch.StartNew();
while(timer.Elapsed.Minutes < wait){
    if(tab.URL != "about:blank"){
        if(!tab.DomText.Contains("This site can't be reached")){
            return "ok";
        }
    }
    else{
        Thread.Sleep(500);
        tab.Navigate(url, "");
        tab.WaitDownloading();
    }
}
throw new Exception();
 
  • Спасибо
Реакции: Sardol, backoff и baracuda

backoff

Client
Регистрация
20.04.2015
Сообщения
5 914
Благодарностей
6 381
Баллы
113
протестил, вроде пока этот отрабатывает как надо
C#:
instance.AutoRetry = true;
instance.AutoRetry5xxResponses = true;
instance.AutoRetryMaxAttempts = 10;
алекс, все равно спасибо, буду юзать
 
  • Спасибо
Реакции: Alexmd

backoff

Client
Регистрация
20.04.2015
Сообщения
5 914
Благодарностей
6 381
Баллы
113
@Alexmd слу напиши что твой снип делает.
я так понял он загружает урл, ждет 2 минуты (ждет коннекта), если урл загружен то все ок, если нет, то проверяет на условие?

походу снип выше, что я выкладывал, вообще не пашет, или я не понимаю как он должен работать
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
@backoff
Снип, что я собрал, пытается загрузить указанную страницу много раз с задержкой полсекунды между попытками пока нет соединения. Если загрузит в течение 2 минут, выйдет по зеленой, нет - по красной. Все просто
 
Последнее редактирование:

backoff

Client
Регистрация
20.04.2015
Сообщения
5 914
Благодарностей
6 381
Баллы
113

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