Имя: Пароль:
1C
1С v8
Программное заполнение полей сайта в ActiveX Microsoft Web Browser
, ,
0 nemoxp
 
29.11.21
14:54
Прошу помочь научится программно заполнять поля сайта в ActiveX Microsoft Web Browser.

Пробовал ПолеHTMLДокумента, но по возможностям и функционалу не подошло.
В ПолеHTMLДокумента все получается так:

ЭлементыФормы.ПолеHTMLДокумента.Документ.forms[0].input1.value="что-то";
ЭлементыФормы.ПолеHTMLДокумента.Документ.forms[0].submit();

в ActiveX Microsoft Web Browser все как-то по-другому и ничего не получается. Тоже есть объект "forms", но таких же полей нет и похожим образом получить поле не получается.

Плиз хелп.
1 SuperMario
 
29.11.21
15:39
(0) а с какой целью нужно это заполнение?
Предположим, заполните вы эти поля и что дальше?
2 SuperMario
 
29.11.21
15:40
+(1)  телепатирую, что дальше  захотите нажать на какую-то "кныпоЧку" что бы эти данные отправить на сервер?  :-)
3 nemoxp
 
29.11.21
15:47
(2) все по теме. нужно заполнить текстовое поле.

Например, получить нужное поле удалось так:
ЭлементыФормы.WebBrowser.Document.GetElementByID("searchString");

Но не получается установить нужный текст в поле...
4 nemoxp
 
29.11.21
16:04
Есть метод SetAttribute(имя, значение)
Но как его применить? и он ли нужен?
ЭлементыФормы.WebBrowser.Document.SetAttribute("searchString", "ура получилось!");
Вылетает ошибка метод не найден...
5 SuperMario
 
29.11.21
16:08
(3) Вы не поняли.
6 nemoxp
 
29.11.21
16:18
(5) Мне просто нужно заполнить поле текстом. В HTML поле имеет ID, получается найти это поле: ЭлементыФормы.WebBrowser.Document.GetElementByID("searchString");

Вопрос как программно туда текст установить
7 nemoxp
 
29.11.21
16:20
если писать на VB, то есть свойство элемента InnerText, но не прокатыват, 1с ругается что нет такого...
8 nemoxp
 
30.11.21
09:10
апп
9 nemoxp
 
30.11.21
10:17
Работа с TWebBrowser Delphi:
a:=webbrowser1.oleobject.document.getelementbyid('t1');
a.value:='1234';

В 1С getelementbyid работает, а "value" не находит и падает по ошибке. Не понятно, возможно ли в поле на сайте ввести текст?
10 nemoxp
 
30.11.21
10:39
Пользуйтесь!

Работает так:

Document = ЭлементыФормы.WebBrowser.Document;
Elements = Document.GetElementsByTagName("INPUT"); // получаем все элементы поля ввода
Для Каждого Element Из Elements Цикл // получить доступ к свойствам элемента получается только перебором
Если Element.name = "SearchString" Тогда // отбираем нужное поле по атрибуту name
  Element.Value = "мой текст для поиска";
КонецЕсли;
КонецЦикла
11 бегинер
 
30.11.21
10:52
это надо увековечить, в "книгу знаний" мисты однозначно!
12 acht
 
30.11.21
11:16
Гггг-геней повеяло
13 SuperMario
 
01.12.21
10:59
(10) прям интересно! Ну присвоили Вы значение элементу и что дальше ?)