Имя: Пароль:
1C
 
Проверить на загруженность страницу.
0 Nenaviwu1c20
 
19.09.14
12:06
Здравствуйте!
Есть процедура которая переходит и парсит сайт.Все бы ничего но.Когда я проверяю состояние загрузки страницы у меня все работает.Когда в этой же процедуре проверяю readyState<4 мне возвращается что траница загруженна хотя не так.Из за этого пришлось написать свою функцию для проверки на процент загрузки страницы которая мне не нравится потому что то что я написал работает по принципу "полный бред но работает.Помогите с написанием человеческой проверки.Процедуры выкладываю ниже
1 Nenaviwu1c20
 
19.09.14
12:06
Процедура КнопкаВыполнитьНажатие(Кнопка)
    //    WinHttp=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    //WinHttp.Option(2,"Windows-1251");                  
    //WinHttp.Open("POST","https://www.e-taxes.gov.az/ebyn/edvPayerChecker.jsp",0);
    objIE = Новый COMОбъект("InternetExplorer.Application");
    objIE.Visible =Ложь;  // Отключаем видимость
    
    objIE.Silent = Истина;
    
    objIE.Navigate("https://www.e-taxes.gov.az/ebyn/edvPayerChecker.jsp";);
    
    Сообщить("Идет загрузка страницы. Ждите...");
    
    Пока objIE.readyState<4 Цикл // Ждем пока загрузится сраница
        
    КонецЦикла;
    objDoc = objIE.Document; // Получаем объект HTML-Документ
    
    
    
    objForm= objDoc.form1 ;
    objForm.elements("name").value = "123";
    objForm.elements("submit").click();
    //Пока objIE.readyState<4 Цикл // Ждем пока загрузится сраница
    //    
    //КонецЦикла;
    КоличествоПопыток =0;
    Пока ПроверитьЗагрузку(objIE.Document.form1.all)<>Истина Цикл
        Если КоличествоПопыток=100 Тогда
            Прервать;
        КонецЕсли;
        КоличествоПопыток =КоличествоПопыток+1;
        
    КонецЦикла;
    
    //    objIE.Navigate();    
    
    Для Каждого стр из objIE.Document.form1.all Цикл
        Если стр.tagName ="SPAN" Тогда
            Сообщить(стр.innerText);
        КонецЕсли;
        
    КонецЦикла;
    
    objIE.Quit();
КонецПроцедуры
Функция ПроверитьЗагрузку(КомОбъект)
    Попытка
        Для Каждого стр из КомОбъект Цикл
            Если стр.tagName ="SPAN" Тогда
                Прервать;
            КонецЕсли;
            
            
            
        КонецЦикла;
        Возврат Истина ;
    Исключение
        //ПроверитьЗагрузку(КомОбъект);
        Сообщить("в");
        Возврат Ложь;
    КонецПопытки;
КонецФункции
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.