Из 1с нажать на кнопку HTML #741604


#0 by CnupT45rus
Приветствую друзья. Как можно из 1С нажать на кнопку в html? Всем заранее благодарен :) Код html: <center> <form name=form action="index.php" method="POST"> <table><tr><td> <font size="-1">text1</font><br><textarea class=text cols=75 rows=10 wrap=virtual name=text value="Здесь исходник"></textarea><br> </td><td><font size="-1">text2</font><br><textarea class=text cols=75 rows=10 wrap=virtual name=text2></textarea><br> </td></tr></table> <input type=button onclick="Paste;" value="Paste &uarr;"> <input type=button onclick="Copy;" value="Copy &darr;"> <input type=button onclick="ClearForm;return 0;" value="Clear &darr;&uarr;">
#1 by CnupT45rus
Пробую так:
#2 by Jonny_Khomich
может просто запустить процедуру, которая выполняется после запуска кнопки?
#3 by CnupT45rus
"может просто запустить процедуру, которая выполняется после запуска кнопки?" а можно поподробнее И да, код php зашифрован :(
#4 by Jonny_Khomich
это была просто идея. узнавай у того, кто это делал.
#5 by CnupT45rus
Jonny_Khomich, В любом случаи спасибо :) Друзья, может есть какие нибудь идеи?
#6 by alexoren
как это php зашифрован? Первый раз такое слышу
#7 by alexoren
при этом php процедуру php ты никак не выполнишь, она на сервере по запросу выполняется.
#8 by alexoren
ты можешь получить данные из элементов, а потом из 1C послать POST запрос к скрипту на сервере
#9 by alexoren
а это есть в форуме
#10 by alexoren
"Paste;" это функция не php, js. Форма вероятно ajax, Обращайся к полям и POST запрос.
#11 by CnupT45rus
" как это php зашифрован? Первый раз такое слышу" Как то так:( "nРЃьшJУу>ъЙ—ѕтRя9їЯѓNїЌЏфрЇЗO•Э«џWFЭЋ†Рђc{‘—‹8yн]~"M@?Яй ѓаqGояDTв—H5Њ|>rщЇ.?уЪWџ^ш{0Xш‰з|їЌ¬Г€ЅLў‹{Й3@ИпEЭ~аswЬtпїют‡Оn^щgџнэ" Шифровали Zend'ом
#12 by CnupT45rus
Забыл уточнить, что мне нужно нажать это <input type="submit" value="go">
#13 by alexoren
а всё понял. Да какая нафиг разница? Он на сервере исполняется. <input type="submit" value="go"> - это чисто отправляет форму, делает POST запрос. Выцепляй значения полей и делай POST запрос. Php в данном случае для тебя "чёрный ящик".
#14 by alexoren
и не просто POST запрос, а именно в скрипт action="index.php"
#15 by Котокот
ПолеHTMLДокумента.document.getElementById('IDКНопки').click
#16 by Котокот
Если ID у кнопки нет, то найти ее перебором по типу элемента, ну или другим способом.
#17 by Котокот
Хотя можно еще проще, там же при нажатии кнопок вызываются функции яваскрипта, можно сразу их вызывать из 1С.
#18 by palpetrovich
Извините что встреваю, не подскажите, а можно-ли избавиться от "ошибок сценария " пр иоткрытии страницы?
#19 by palpetrovich
+ не та ссылка :)
#20 by palpetrovich
+
#21 by CnupT45rus
Извините что встреваю, не подскажите, а можно-ли избавиться от "ошибок сценария " пр иоткрытии страницы? Видел на инфостарте статью, поищите там
#22 by CnupT45rus
"Если ID у кнопки нет, то найти ее перебором по типу элемента, ну или другим способом." Котокот, а можно поподробнее
#23 by Котокот
Синтаксис: ПолучитьЭлементыПоИмени(<Имя>) Параметры: Тип: Строка. Имя требующегося элемента (коллекции элементов). Возвращаемое значение: Тип: КоллекцияЭлементовHTML. Описание: Возвращает коллекцию элементов HTML документа с заданным именем. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Для элемента HTML имена элементов не чувствительны к регистру. --------------------------------------------------------------------------------      Методическая информация
#24 by Котокот
Ищем все элементы с именем button, находим нужный (первый, второй или третий) и кликаем его.
#25 by CnupT45rus
нужно нажать кнопку <p><input type="submit" value="go"></p>
#26 by CnupT45rus
#27 by Serginio1
#28 by Serginio1
#29 by lalolo
Элемент можно искать ...ByName, можно ...ById. Чуть выше товарищ написал ...ByAttrib, что судя по всему и является самым подходящим вариантом.
#30 by alexoren
#31 by Котокот
#32 by Serginio1
См 27
#33 by Котокот
А я за что
#34 by Serginio1
ты за GetElementsByName
#35 by CnupT45rus
Пробую так, опять не выходит. Процедура Кнопка2Нажатие(Кнопка)
#36 by Котокот
А, ну то я имею в виду одно, а пишу другое )
#37 by Serginio1
Зачем тебе скрипт? Либо если один такой элемент или первый то
#38 by Serginio1
#39 by CnupT45rus
Serginio1, спасибо огромное, и вообще, всем всем спасибо. Заработало. Рабочий код: А про скрипт, решил попробовать, так как он тоже должен сработать, кот то логически верен, но чего то не хватает
#40 by Serginio1
Тьфу ты ну да ЭлементHTMLДокумента =Документ.querySelector("input[type=""submit""]");
#41 by Котокот
Поздравляем!
#42 by CnupT45rus
Друзья, а вот еще один интересный вопрос. Интересно, а как теперь вытащить текст из html? конкретно "text2": (<textarea class=text cols=75 rows=10 wrap=virtual name=text2></textarea>) Так не работает,   И понятно что не работает и не должно тк COMОбъект, а как можно?
#43 by Serginio1
#44 by Котокот
текстHtml = ЭлементыФормы.ПолеHTMLДокумента.Документ.GetElementsByName("text2").innerHTML;
#45 by CnupT45rus
Поле объекта не обнаружено (innerHTML)
#46 by Serginio1
#47 by Serginio1
Можно попробовать такую конструкцию Элементы=ЭлементыФормы.ПолеHTMLДокумента.Документ.GetElementsByName("text2");
#48 by CnupT45rus
Попробовал обе конструкции: Говорит: {Форма.Форма.Форма}: Метод объекта не обнаружен (GetEnumerator) Говорит: {Форма.Форма.Форма}: Получение элемента по индексу для значения не определено
#49 by CnupT45rus
Ребята, получилось так, но это блин опять индусский код какой то получился :)
#50 by Serginio1
1C не поддерживает свойства массивы. По аналогии с Net можно попробовать ЭлементыHTMLДокумента.get_Item или ЭлементыHTMLДокумента.getItem(0 Конструкция Для Каждого ТекЭлементHTMLДокумента Из на самом деле вызывает [DISPID=-4] для получения IEnumVARIANT
#51 by mzelensky
Чет вы как-то мудрите сильно...в большенстве случаев делается все гораздо проще (хотя конечно все зависит от конкретного случая). Открываешь браузер "Огненая Лисичка", включаешь там анализатордебагер, заходишь на нужную тебе страничку и тыкаешь нужную кнопку. Далее смотришь какие запросы формируются. СКОРЕЕ всего увидишь там нужную тебе ссылкукоманду которая запускает нужное действие. Ну и далее запускаешь это все в 1С-ке.
#52 by Serginio1
Судя по Methods item ( idx )Returns an item in the list by its index, or null if the index is out-of-bounds; can be used as an alternative to simply accessing nodeList[idx] (which instead returns  undefined when idx is out-of-bounds).
#53 by mzelensky
+ Я таким макаром с десятокдругой сайтов распарсилобработал :) Но повторюсь - все зависит от конкретного сайта и более детально нужно смотреть по факту
#54 by Serginio1
52+
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С