|
Открыть HTML страничку с отработкой JS НаСервере | ☑ | ||
---|---|---|---|---|
0
TrueBuild
02.03.22
✎
13:59
|
Есть сайт, который выполняет некоторые расчеты средствами JavaScript и отображает их на страничке. Необходимо эти расчеты автоматизировать.
Сохранил страничку просто в .html, запихнул код в 1С на форму в Поле HTML документа, динамически правлю html код и парсю результат после выполнения JS скрипта с этого же поля, все ок. Но необходимо этот процесс автоматизировать, чтобы он выполнялся в фоне, то есть на сервере, а не на клиенте. Формы и соответственно Поле HTML документа я на сервере никак не получу. Обращение к сайту через HTTPСоединение тоже не даст результата, так как в этом случае никакие JS скрипты не выполняются. Пока вижу единственный вариант, это сделать прослойку на чем-нибудь компилируемом, которую вызывать из 1С, где с помощью Selenium открывать сайт с выполнением JS скриптов и парсить, затем возвращать результат в 1С. Но может есть какой-то способ попроще или обойтись только платформой 1С? |
|||
1
Kassern
02.03.22
✎
14:01
|
(0) делайте расчеты с помощью php скриптов, через http соединение дергайте скрипт с нужными параметрами. Либо считайте на стороне 1с, либо пилите dllку, либо микросервисы вам в помощь
|
|||
2
TrueBuild
02.03.22
✎
14:02
|
Переписать сам алгоритм скрипта JS на 1С - самый длинный и сложный путь в данном случае. Во первых сам скрипт JS обфусцирован, во вторых, он отправляет штук 5-6 POST запросов еще на свои сервера, причем тоже зашифрованные.
|
|||
3
TrueBuild
02.03.22
✎
14:02
|
(1) => (2)
|
|||
4
Kassern
02.03.22
✎
14:03
|
(2) тагда пилите прослойку, которая будет на клиенте отрабатывать ваш скрипт и писать куда-нить результат. Вот к нему и будете обращаться, раз переписать нет возможности
|
|||
5
TrueBuild
02.03.22
✎
14:06
|
(4) Такое решение я и придумал сам) Вот и спрашиваю, есть ли что-нибудь попроще. Может быть в платформе есть что-то типа Поля HTML документа, но НаСервере. Либо как-то из платформы обращаться к WinAPI и запускать браузер и читать html открытой страницы.
|
|||
6
Kassern
02.03.22
✎
14:06
|
даже банальный ПодключитьОбработчикОжидания может справиться с этим заданием, если на стороне 1с пилить обращение
|
|||
7
TrueBuild
02.03.22
✎
14:12
|
(6) Он вызывается с клиента. Я в первом же посте написал, что мне надо решить задачу используя только сервер запуская процесс регл. заданием.
|
|||
8
Kassern
02.03.22
✎
14:13
|
(7) через сервер вы вряд ли сможете js запустить
|
|||
9
Kassern
02.03.22
✎
14:16
|
имхо, это как пытаться с сервера запустить процедуры клиентские.
|
|||
10
Вафель
02.03.22
✎
14:32
|
selenium
|
|||
11
Garykom
гуру
02.03.22
✎
15:40
|
(0) нода же
|
|||
12
Garykom
гуру
02.03.22
✎
15:41
|
(11)+ https://ru.wikipedia.org/wiki/Node.js
чуть чуть поправь свои js и запускай на сервере |
|||
13
Fragster
гуру
02.03.22
✎
16:55
|
(12) скорее нужно нодой запустить сервак, который слушает запросы и через puppeteer делает нужные действия в headless chrome
|
|||
14
TrueBuild
02.03.22
✎
17:18
|
(12) (13) Слишком заморочено )
Сделал прослойку на C# с использованием Селениума, получилось минимум кода и настроек. |
|||
15
acht
02.03.22
✎
17:54
|
(5) > запускать браузер и читать html открытой страницы.
Новый COMОбъект("InternetExplorer.Application"); |
|||
16
Garykom
гуру
02.03.22
✎
17:55
|
(14) ыыы
ты понимаешь что у тебя это даже не костыли а "стоя в гамаке"? |
|||
17
Garykom
гуру
02.03.22
✎
17:56
|
(13) какой смысл в headless chrome?
если надо просто js запускать? |
|||
18
Fragster
гуру
02.03.22
✎
18:03
|
(17) как правило js если на веб странице - то он не изолированно от html существует
|
|||
19
Fragster
гуру
02.03.22
✎
18:06
|
+ он может быть минифицирован
|
|||
20
Garykom
гуру
02.03.22
✎
18:24
|
(18) (19) угу и обфусцирован
в этом случае согласен |
|||
21
TrueBuild
02.03.22
✎
19:30
|
(16) В чем костыль то? 1С вызывает внешний сервис передавая туда параметры и получает в ответ нужную информацию. Работает, как часы.
(18) Верно. |
|||
22
TrueBuild
02.03.22
✎
20:01
|
(15) Да, вот это я и искал изначально, спасибо)
|
|||
23
TrueBuild
02.03.22
✎
20:06
|
(15) (22) Для интереса попробовал, в эксплорере конкретно мой JS уже не выполняется.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |