|
Программное заполнение полей сайта в 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) прям интересно! Ну присвоили Вы значение элементу и что дальше ?)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший