Доступ к элементам DOM в браузере MS Edge с чужого процесса.
Всем доброго времени суток!
Мне тут задачу на работе поставили - раскопать есть ли возможность "достучаться" до элементов HTML-документа с чужого процесса. Попробую пояснить подробнее: юзер открывает мою страницу в браузере(EDGE в основном) и браузер становится в режим некоего ожидания от запуска моей же аппликации на компе. Я запускаю аппликацию, на старте у меня есть код, который находит окно с моей страницей, затем находит привязанный HTML document, затем некоторый условный элемент внутри этого документа. Потом моя аппликация меняет значение в этом элементе скажем с 0 на 1, документ по таймеру(раз в секунду) опрашивает это значение, и как видит единицу, меняет картинку на браузере. Моя задача - сообщить браузеру таким способом, что аппликация побежала, чтобы браузер отреагировал нужным образом. Есть несколько моментов - я слышал, что в браузере IE это можно было сделать без проблем, но не знаю возможно ли это вообще в других браузерах. И еще - знает ли кто-нибудь, как к подобным фокусам относятся антивирусы? Потому что если плохо, то я не хочу, чтобы мою аппликацию сразу зарезали живьем, и буду искать другие способы. Заранее 10х |
Что такое аппликация и что такое "нужная" реакция браузера?
И что такое "чужой процесс"? Другая вкладка на которой открыта другая страница? Или какая то совсем посторонняя задача, написанная, например, на C? |
Смотря что именно у тебя за задача.
Простейшее решение для всех браузеров - браузерное расширение которое делает что надо, а не внешнее приложение. Браузеры также поддерживают подключение по дебаг протоколу из внешнего приложения. Через оный вполне можно управлять браузером, то требуется либо разрешение от юзера, либо старт со специальным флагом. Отдельно вариант написать приложение на основе браузера: electron или чисто виндовый hta. COM интерфейс как старый IE насколько я знаю современне браузеры не предоставляют. Вместо этого они поддерживают WebDriver. |
Уровень постановки задачи наводит на мысли о госконторе.
Предположительно !!!! Кто то забивает данные в вебморду сервиса в интернете но контора которая забивает данные в веб морду хочет и сама иметь доступ к этим данным крутить отчеты и прочую аналитику вот руко.водитель нашол крайнего тыжпрограммиста и поставил ему задачу. Во всех браузерах это решают добавлением расширения браузера (content script). По сути это обычный JS скрипт который браузер загружает при открытии страницы как пример для эджа https://docs.microsoft.com/ru-ru/sho...-edgeextension |
Цитата:
А "нужная" реакция - это как-то сообщить браузеру, что программа побежала и чтобы браузер как-то среагировал, например, выдал текст большими буквами: "Я вижу, что ты запустил мою любимую игру, дорогой юзер!" Цитата:
Мне повезло, нашел старого знакомого, который объяснил, что доступ вот так снаружи из внешнего чужого процесса к веб-морде в любом браузере это нарушение безопасности, и любой антивирус тут же начнет кидаться на мою утилиту. Так что буду обдумывать другой способ. Если найду что-то не очень "серое" - постараюсь отписаться. Всем спасибо! |
Часовой пояс GMT +3, время: 01:38. |