InternetExplorer.Application в 2024 всё!
Попробовал в 2024 году запустить COM-объект InternetExplorer.Application.
Использовал тестовый код в файловой базе:
&НаСервере Процедура ТестНаСервере() Попытка IE = Новый COMОбъект("InternetExplorer.Application"); Исключение ВызватьИсключение "Ошибка создания InternetExplorer.Application"; КонецПопытки; //Видимость браузера IE.Visible = Истина; //Запрос страницы IE.Navigate("http://1clenta.ru"); //Ожидание загрузки страницы Пока (IE.readyState < 4) ИЛИ (IE.Busy = -1) Цикл КонецЦикла; //Текст страницы с тэгами InnerHtml = IE.Document.body.innerHtml; Сообщить(InnerHtml); КонецПроцедуры &НаКлиенте Процедура Тест(Команда) ТестНаСервере(); КонецПроцедуры
До выполнения Navigate свойства COM-объекта доступны:
После Navigate становятся недоступными:
Причем открывается браузер Edge:
Ошибка вызывается при создании COM-объекта на сервере и на клиенте.
Пробовал запускать 1С под правами администратора — не помогает.
Видимо, IE сыграл все же в ящик. А в Edge не сделали автоматизацию через COM… Иногда хорошее кончается…
Прилагаю тестовую обработку:
COM тоже придет конец. Иные времена.
да, COM потихоньку все… что вместо него? HTTP-сервисы?
Вариаций много, тем же chrome-ом можно через devtools-protocol, мы это для генерации pdf используем: рендерим страницу и headless браузер генерит pdf-ку, работает на сервере. В других случаях и REST/gRPC API и т.п. Тенденции ведь чтоб у клиента ничего, кроме браузера не было. А с решениями вида VDI (virtual desktop infrastructure) юзеру и десктоп в браузере отдается, поэтому тип клиента вообще не важен (может планшет быть)
все это замечательно, но объемно.
с таким же успехом я могу уже и знакомый web-драйвер от selenium использовать или запуск selenium из командной строки.
Все это из пушки по воробьям.
Selenium под капотом и использует подобное API. Я понимаю, что стрелять из пушки по воробьям не всегда нужно, но нынче это вполне нормально. Берем проверенную систему и переиспользуем. Если в ограничения по времени и памяти влазим — то пофиг. Время юзера дороже , сам ведь знаешь.
Но в твоем случае я бы еще в ряде ситуаций смотрел на наличие API у того, кого дергаешь. Не всегда надо парсить html ответ, возможно сервис предоставляет нормальное API с JSON/XML ответом.
объемно по работе, пользователь не потянет. я ставил двум пользователям решения на Selenium, им это вышло недешево, у меня даже статья есть тут, как разворачивать Selenium — все это объемно и сложно.