Имя: Пароль:
1C
1С v8
Как получить НТМL код страницы?
,
0 fdad
 
01.09.11
21:43
Как в 8ке вытащить НТМL код из конкретной страницы, для дальнейшей работы с этой информацией?
1 YHVVH
 
01.09.11
21:46
через свойство наверно
2 fdad
 
01.09.11
21:48
например yandex.ru


ЭлементыФормы.ПолеHTMLДокумента1.Перейти("http://www.yandex.ru/");

       ТекстДанных = ЭлементыФормы.ПолеHTMLДокумента1.ПолучитьТекст();
3 fdad
 
01.09.11
21:51
(2) - Не работает.

Пробовал через HTTPСоединение, при методе получить(), параметры не могу указать...
4 YHVVH
 
01.09.11
22:03
не работает это как?
5 fdad
 
01.09.11
22:08
(4)отлаживаю, ТекстДанных - пуст
6 smaharbA
 
01.09.11
22:15
народ еще на 6.0 получал, а тут на 8.х не могут
7 fdad
 
01.09.11
22:17
Кто нибудь может помочь, пожалуйста?
8 YHVVH
 
01.09.11
22:20
ДокументСформирован()
9 YHVVH
 
01.09.11
22:20
там лови его
10 YHVVH
 
01.09.11
22:33
+(9) с ловил кайф то?
11 fdad
 
01.09.11
22:42
(8) {Форма.Форма.Форма(10)}: Метод объекта не обнаружен (ДокументСформирован)
       ТекстДанных = ЭлементыФормы.ПолеHTMLДокумента1.ДокументСформирован();
12 YHVVH
 
01.09.11
22:46
блин, предопределенная процедура которая вызывается после загрузки всего документа.
13 YHVVH
 
01.09.11
22:47
Процедура ПолеHTMLДокумента1ДокументСформирован(Элемент)
   ТекстДанных = ЭлементыФормы.ПолеHTMLДокумента1.ПолучитьТекст();
   сообщить(""+ТекстДанных);
КонецПроцедуры
14 YHVVH
 
01.09.11
22:50
он у тебя не успевает загрузится , моя твоя понимать или не понимать?
15 smaharbA
 
01.09.11
23:01
С =Новый HTTPСоединение("www.yandex.ru");
С.Прокси.Установить("http","192.168.1.250",3128);
Врем = КаталогВременныхФайлов() + Формат(ТекущаяДата(),"ДФ=ггггММддЧЧммсс")+".html";
С.Получить("/",Врем);
Текст=Новый ИзвлечениеТекста(Врем);
Сообщить(Текст.ПолучитьТекст());
//найди некоторое отличие    
КопироватьФайл(Врем, Врем+".txt");
Текст=Новый ИзвлечениеТекста(Врем+".txt");
Сообщить(Текст.ПолучитьТекст());
16 fdad
 
01.09.11
23:14
(15)+ спасибо
С.Получить("/",Врем); - в этой стоке как узнать какой параметр, он же для каждого сайта разный?
например на этот сайт: "http://1c.ru/rus/partners/solutions/solutions.jsp?PartID=159&v8only=1&cmk=1&isGroup=1"
17 fdad
 
01.09.11
23:16
(14) пробовал, ТекстДанных  все равно пустой(
Моя твоя не совсем понимать...
18 YHVVH
 
01.09.11
23:20
(17) ты в событиях то прописал или просто тупо скопировал мой текст?
19 smaharbA
 
01.09.11
23:23
С =Новый HTTPСоединение("1c.ru");
С.Получить("/rus/partners/solutions/solutions.jsp?PartID=159&v8only=1&cmk=1&isGroup=1",Врем);

но и для разбора в адинес все есть
20 fdad
 
01.09.11
23:31
(19)+ Спасибо!
21 fdad
 
01.09.11
23:37
(18) написал
Процедура КнопкаВыполнитьНажатие(Кнопка)
  ПолеHTMLДокумента1ДокументСформирован();
КонецПроцедуры

Процедура ПолеHTMLДокумента1ДокументСформирован()
   
   ЭлементыФормы.ПолеHTMLДокумента1.Перейти("http://www.yandex.ru/");
   ТекстДанных = ЭлементыФормы.ПолеHTMLДокумента1.ПолучитьТекст();
   сообщить(""+ТекстДанных);
   
КонецПроцедуры
22 fdad
 
01.09.11
23:38
сообщение не выводит.
в отладке ТекстДанных = ""
23 YHVVH
 
01.09.11
23:39
(21)
В событиях на элементе формы установки привязку к процедуре
ПолеHTMLДокумента1ДокументСформирован
в свойствах события ДокументСформирован

и код такой

Процедура КнопкаВыполнитьНажатие(Кнопка)
   ЭлементыФормы.ПолеHTMLДокумента1.Перейти("http://www.yandex.ru/");
КонецПроцедуры

Процедура ПолеHTMLДокумента1ДокументСформирован()
   ТекстДанных = ЭлементыФормы.ПолеHTMLДокумента1.ПолучитьТекст();
   сообщить(""+ТекстДанных);
КонецПроцедуры
24 YHVVH
 
01.09.11
23:40
у меня работает
25 fdad
 
01.09.11
23:42
Ок! Щас  попробую
26 YHVVH
 
01.09.11
23:43
27 fdad
 
01.09.11
23:44
Заработал)
Спасибо!
28 YHVVH
 
01.09.11
23:44
(27) ну слава богу :-))))
29 fdad
 
01.09.11
23:47
Круто)))
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший