Имя: Пароль:
1C
1С v8
Загрузка изображений из Интернет. УФ.
, ,
0 НастоящееИмя
 
29.09.14
17:26
Пытаюсь получить изображения из сети.
Код

Браузер = Новый COMОбъект("InternetExplorer.Application");
Браузер.Visible = 0;
Браузер.Navigate("http://www.yandex.ru/";);

Отрабатывает.
Затем устанавливаю СтрНавигации = "http://images.yandex.ru/yandsearch?";;

Заполняю СтрНавигации  по нужным мне параметрам.
И Браузер.Navigate(СтрНавигации);
Вот тут появляется ошибка:

{Обработка.ПоискИУстановкаКартинок.Форма.Форма.Форма(41)}: Ошибка при вызове метода контекста (Navigate)
        Браузер.Navigate(СтрНавигации);
по причине:
Произошла исключительная ситуация (0x800700aa)
  
НО, если я ставлю точку останова на данной строке, то код отрабатывает и нужный мне запрос по параметрам выполняется, т.е. получаю изображения.
В чем может быть причина? Может кто сталкивался?
1 lodger
 
29.09.14
17:27
ослик не успевает загрузиться при вызовах подряд?
2 НастоящееИмя
 
29.09.14
17:28
(1) Хм... была такая мысль, но как это побороть - недогадываюсь.
3 НастоящееИмя
 
29.09.14
17:31
Может это? Браузер.readyState
4 lodger
 
29.09.14
17:32
http://stackoverflow.com/questions/2230982/webbrowser-navigate-throws-comexception
вкратце - чуваки говорят, что ослик чем то занят.
циклично проси с него readyState или просто ожидание на пару секунд повесь.
5 НастоящееИмя
 
29.09.14
17:42
(4)Помогло         
Пока Браузер.Document.readyState <> "complete" Цикл
     ОбработкаПрерыванияПользователя();          
КонецЦикла;

Спасибо
6 lodger
 
29.09.14
17:49
(5) не расслабляйся, ослик может такой код возвращать когда ждет реакции пользователя на какой-либо его вопрос.
а вопросы оно любит, начиная от "как это у вас другой браузер?!" и до "тут какая-то шляпа установилась и надо сказать Ок"
7 НастоящееИмя
 
29.09.14
18:16
(6) Буду иметь ввиду. Спс. Теперь вот файл на комп не получается сохранить.
                Если ИспользоватьПрокси Тогда
                    Прокси                                             = Новый ИнтернетПрокси();
                    Прокси.НеИспользоватьПроксиДляЛокальныхАдресов    = Истина;
                    Прокси.Пользователь                             = ПользовательПрокси;
                    Прокси.Пароль                                     = ПарольПрокси;
                    Прокси.Установить("http",СокрЛП(СерверПрокси),ПортПрокси);
                    НТТP         = Новый HTTPСоединение(,,,,Прокси);
                Иначе
                    НТТP         = Новый HTTPСоединение(,,,,);
                КонецЕсли;
                НТТP.Получить(ДанныеСобытия.Element.alt,ПутьКФайлу);

Возможно из-за прокси... но настройки заполнены верно.
8 lodger
 
29.09.14
18:31
эм. ну. в моем СП у ИнтернетПрокси нет свойств Пользователь и Пароль, зато у HTTPСоединение есть.
9 lodger
 
29.09.14
18:32
(8) а. не. окосел под вечер.
тогда хз.
11 НастоящееИмя
 
30.09.14
17:09
(10) Не нашел.
Сделал так:
КопироватьФайл (ДанныеСобытия.Element.href, ПутьКФайлу);