Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Парсинг html страницы (делфи 10.2) / 3 сообщений из 3, страница 1 из 1
28.10.2018, 12:37
    #39724030
Miracle9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг html страницы (делфи 10.2)
Загружаю страницу в WebBrowser, получаю нужные теги
Код: pascal
1.
2.
3.
4.
var
  Divs: IHTMLElementCollection;
begin
  Divs := (WebBrowser1.Document as IHTMLDocument2).all.tags('TR') as IHTMLElementCollection;


Всё работает. Но мне нужно проделать то же самая не загружая страницу в WebBrowser. Получаю код страницы через IdHTTP1.Get.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure Parse(str: string);
var
  V: OleVariant;
  Doc: IHTMLDocument2;
  DocAll: IHTMLElementCollection;
  DocTR: IHTMLElementCollection;
begin
  Doc := coHTMLDocument.Create as IHTMLDocument2;
  v := VarArrayCreate([0,0], VarVariant);
  v[0] := str;
  Doc.write(PSafeArray(System.TVarData(v).VArray));

  DocAll := Doc.all;
  DocTR  := DocAll.Tags('TR') as IHTMLElementCollection;



Не работает. Подставил Application.ProcessMessages после DocAll := Doc.all; Заработало. Пробую другую страницу - не работает, хотя через WebBrowser всё работает, теги изымаются.
...
Рейтинг: 0 / 0
28.10.2018, 13:07
    #39724037
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг html страницы (делфи 10.2)
Miracle9,

После Doc.write поставь Doc.close().
...
Рейтинг: 0 / 0
28.10.2018, 13:07
    #39724039
Miracle9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг html страницы (делфи 10.2)
s62, спасибо!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Парсинг html страницы (делфи 10.2) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]