HELP по работе с InternetExplorer.Application

  1. 8 г. назад

    Пытаюсь научиться работать из 1С с браузером, или даже с полем HTMLДокумента. Но это поле иногда глючит на некоторых сайтах из за несовместимости версий.
    Подскажите в чем косяк?

    &НаКлиенте
    Процедура ОткрытьСайт1()
    	IE=ПолучитьAppIE();
    	Если IE=Неопределено Тогда
    	  Возврат;
    	КонецЕсли;
    	//«http://mail.ru/»
    	url=СокрЛП(Ссылка);
    	IE.Navigate(url);
    	Пока IE.readyState < 4 Цикл
    	КонецЦикла;
    	IE.document.getElementByID("mailbox__login").value = Объект.Логин;
    	IE.document.getElementByID("mailbox__password").value = Объект.Пароль;	
    	IE.document.getElementByID("mailbox__auth__button").click();
    КонецПроцедуры // Логин()
    
    &НаКлиенте	
    Функция ПолучитьAppIE()    
        Попытка
            // создаем новый процесс приложения IE
            appIE = Новый COMОбъект("InternetExplorer.Application");
            appIE.Visible = Истина; // не отображаем его (браузер) на экране        
        Исключение
            Сообщить("Ошибка создания приложения InternetExplorer.Application..."); 
    				Возврат Неопределено;
        КонецПопытки;    
        Возврат appIE; // вернем указатель на процесс
    КонецФункции
    
    
  2. на строчке IE.document.getElementByID("mailbox__login").value = Объект.Логин;
    выдает ошибку
    Ошибка при вызове метода контекста (getElementById)
    IE.document.getElementByID("mailbox__login").value = Объект.Логин;
    по причине:
    Неизвестная ошибка

  3. Если у кого есть возможность отсюда скинуть пример работы, буду премного благодарен.
    http://infostart.ru/public/65101/

  4. В каком то месте у тебя пустой объект, разбей по очереди
    doc = IE.document;
    el = doc.getElementByID("mailbox__login");
    el.value = "test";
    и скажи на каком месте спотыкач и чему при этом равняются в отладке doc,el,

  5. Здесь косячит
    el = doc.getElementByID("mailbox__login");

    В ИЕ разрешил выполнение скриптов на всякий случай

  6. ну а doc в этот момент чему равен?

  7. 20.08.2016 15:27:40 отредактировано sda553

    И еще посмотри что есть в doc

    	elems = doc.getElementsByTagName("*");
            Для и=0 по 1000 Цикл
    	Сообщить(elems[и].id);
    КонецЦикла
    
  8. IE.document.getElementByID("mailbox__login")
    Я так понял ругается именно на функцию getElementByID
    Сам тег "mailbox__login" там присутствует

  9. Разобрался. Нужно было в доверенные узлы добавить about:security_1Cv8.exe и about:security_1Cv8c.exe

или зарегистрируйтесь чтобы ответить!