Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2022, 12:46
Новичок на форуме
Отправить личное сообщение для VladK Посмотреть профиль Найти все сообщения от VladK
 
Регистрация: 09.08.2022
Сообщений: 2

Доступ к элементам DOM в браузере MS Edge с чужого процесса.
Всем доброго времени суток!
Мне тут задачу на работе поставили - раскопать есть ли возможность "достучаться" до элементов HTML-документа с чужого процесса.
Попробую пояснить подробнее: юзер открывает мою страницу в браузере(EDGE в основном) и браузер становится в режим некоего ожидания от запуска моей же аппликации на компе. Я запускаю аппликацию, на старте у меня есть код, который находит окно с моей страницей, затем находит привязанный HTML document, затем некоторый условный элемент внутри этого документа. Потом моя аппликация меняет значение в этом элементе скажем с 0 на 1, документ по таймеру(раз в секунду) опрашивает это значение, и как видит единицу, меняет картинку на браузере. Моя задача - сообщить браузеру таким способом, что аппликация побежала, чтобы браузер отреагировал нужным образом.
Есть несколько моментов - я слышал, что в браузере IE это можно было сделать без проблем, но не знаю возможно ли это вообще в других браузерах.
И еще - знает ли кто-нибудь, как к подобным фокусам относятся антивирусы? Потому что если плохо, то я не хочу, чтобы мою аппликацию сразу зарезали живьем, и буду искать другие способы.
Заранее 10х
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2022, 19:53
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

Что такое аппликация и что такое "нужная" реакция браузера?
И что такое "чужой процесс"? Другая вкладка на которой открыта другая страница? Или какая то совсем посторонняя задача, написанная, например, на C?

Последний раз редактировалось voraa, 09.08.2022 в 19:58.
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2022, 20:19
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Смотря что именно у тебя за задача.
Простейшее решение для всех браузеров - браузерное расширение которое делает что надо, а не внешнее приложение.
Браузеры также поддерживают подключение по дебаг протоколу из внешнего приложения. Через оный вполне можно управлять браузером, то требуется либо разрешение от юзера, либо старт со специальным флагом.
Отдельно вариант написать приложение на основе браузера: electron или чисто виндовый hta.

COM интерфейс как старый IE насколько я знаю современне браузеры не предоставляют. Вместо этого они поддерживают WebDriver.
__________________
29375, 35

Последний раз редактировалось Aetae, 09.08.2022 в 20:23.
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2022, 20:53
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

Уровень постановки задачи наводит на мысли о госконторе.
Предположительно !!!!
Кто то забивает данные в вебморду сервиса в интернете но контора которая забивает данные в веб морду хочет и сама иметь доступ к этим данным крутить отчеты и прочую аналитику вот руко.водитель нашол крайнего тыжпрограммиста и поставил ему задачу.

Во всех браузерах это решают добавлением расширения браузера (content script). По сути это обычный JS скрипт который браузер загружает при открытии страницы
как пример для эджа https://docs.microsoft.com/ru-ru/sho...-edgeextension
Ответить с цитированием
  #5 (permalink)  
Старый 10.08.2022, 16:00
Новичок на форуме
Отправить личное сообщение для VladK Посмотреть профиль Найти все сообщения от VladK
 
Регистрация: 09.08.2022
Сообщений: 2

Цитата:
Что такое аппликация и что такое "нужная" реакция браузера?
И что такое "чужой процесс"? Другая вкладка на которой открыта другая страница? Или какая то совсем посторонняя задача, написанная, например, на C?
Верно, это абсолютно внешняя программа, написанная на С++ или Шарпе.
А "нужная" реакция - это как-то сообщить браузеру, что программа побежала и чтобы браузер как-то среагировал, например, выдал текст большими буквами: "Я вижу, что ты запустил мою любимую игру, дорогой юзер!"

Цитата:
Уровень постановки задачи наводит на мысли о госконторе.
Предположительно !!!!
Кто то забивает данные в вебморду сервиса в интернете но контора которая забивает данные в веб морду хочет и сама иметь доступ к этим данным крутить отчеты и прочую аналитику вот руко.водитель нашол крайнего тыжпрограммиста и поставил ему задачу.
Не госконтора, но почти шарашкина .
Мне повезло, нашел старого знакомого, который объяснил, что доступ вот так снаружи из внешнего чужого процесса к веб-морде в любом браузере это нарушение безопасности, и любой антивирус тут же начнет кидаться на мою утилиту. Так что буду обдумывать другой способ. Если найду что-то не очень "серое" - постараюсь отписаться. Всем спасибо!

Последний раз редактировалось VladK, 10.08.2022 в 16:13.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DOM доступ js в страницу во фрейме Brick Javascript под браузер 27 14.08.2018 00:15
dom to image (edge) Rasy Элементы интерфейса 9 01.11.2016 15:28
Доступ к DOM, сгнерированному плагином. Димтрий jQuery 1 09.07.2016 13:02
из двух массивов jquery получить доступ к элементам и создать третий? ninja2 Общие вопросы Javascript 18 19.06.2015 15:12
Доступ к элементам соседнего окна v_n_smirnov Events/DOM/Window 1 22.08.2012 18:08