Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2016, 18:29   #1
Viktor_Ptica
Пользователь
 
Регистрация: 23.12.2015
Сообщений: 22
По умолчанию просмотр HTML-кода, TWebBrowser, Delphi7

Здравствуйте.
Помогите решить проблему. Есть страница в интернете, на которой автоматически выполняются сценарии (без перезагрузки страницы) и это все отображается через TWebBrowser. Каким образом выгрузить хтмл-код отображаемого состояния страницы в текущий момент из WebBrowserа? Методы типа OuterHTML и подобные выгружают только сами сценарии, а не результат их работы. НО, если по Веббраузеру кликнуть правой мышкой и выбрать просмотр HTML-кода - выгружается как раз то, что надо. Подскажите кто нибудь. idHTTP, NMHttp уже пробовал, та же ситуация. Поиск по форуму (и не только этому) привел только к уже перечисленным и испробованным методам. Все не то, что надо.
Если задача кажется легкой - то решать её придется очень долго.
Viktor_Ptica вне форума Ответить с цитированием
Старый 02.05.2016, 18:54   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
idHTTP, NMHttp уже пробовал, та же ситуация
Потому что надо понимать как они работают.
IdHttp просто выполняет один HTTP запрос и возвращает ответ, например исходный HTML. Это не браузер, он не выполняет никакие скрипты на странице.

А вот что-то OuterHTML в TWebBrowser по идее должно решить вашу задачу. Как вы его вызываете? Может слишком рано?


А вообще для автоматизации с помощью браузера я б советовал взять Selenium (только для Дельфи его наверно нет, но для кучи других языков есть), намного удобнее чем TWebBrowser, CEF и т.п. изначально предназначенные для других целей.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.05.2016, 18:58   #3
Viktor_Ptica
Пользователь
 
Регистрация: 23.12.2015
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение

А вот что-то OuterHTML в TWebBrowser по идее должно решить вашу задачу. Как вы его вызываете? Может слишком рано?
Вызов происходит после того как вся страница прогрузилась, все скрипты отработали и я целиком вижу страницу в нужном мне виде. Там есть что то вроде часов и постоянно обновляются те или иные поля с интервалом около 10-15 сек.

Вот код:

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  Doc: IHTMLDocument2;
begin
  Doc:= WebBrowser1.Document as IHtmlDocument2;
  Memo1.Text := (Doc.all.Item(NULL, 0)
as IHTMLElement).OuterHTML;
Memo1.Lines.SaveToFile('1.txt');
end;
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
Если задача кажется легкой - то решать её придется очень долго.

Последний раз редактировалось Alex11223; 02.05.2016 в 19:01.
Viktor_Ptica вне форума Ответить с цитированием
Старый 02.05.2016, 19:20   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Странный код какой-то.

Например
Код:
Doc.body.outerHTML
или
Код:
Doc.body.parentElement.outerHTML
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.05.2016, 19:31   #5
Viktor_Ptica
Пользователь
 
Регистрация: 23.12.2015
Сообщений: 22
По умолчанию

Если я Вас правильно понял, то
Код:
 procedure TForm1.Button2Click(Sender: TObject);
var
  Doc: IHTMLDocument2;
begin
  Doc:= WebBrowser1.Document as IHtmlDocument2;
  Memo1.Text := Doc.body.parentElement.outerHTML;
Memo1.Lines.SaveToFile('1.txt');
end;
выдает только сами скрипты и сценарии на странице, а опять же не их результат(
Если задача кажется легкой - то решать её придется очень долго.
Viktor_Ptica вне форума Ответить с цитированием
Старый 02.05.2016, 19:38   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Странно, должно работать. Что за страница?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.05.2016, 22:23   #7
Viktor_Ptica
Пользователь
 
Регистрация: 23.12.2015
Сообщений: 22
По умолчанию

Сервис car-online.ru(*не реклама*).
Если задача кажется легкой - то решать её придется очень долго.
Viktor_Ptica вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотр кода страницы mephist HTML и CSS 1 17.12.2015 18:18
Изменение html кода в Twebbrowser glebast Помощь студентам 0 31.07.2012 22:57
просмотр html-кода ferz163 Общие вопросы Delphi 1 31.05.2011 13:16
TWebBrowser, Просмотр кода, Access Violation 095 Общие вопросы Delphi 1 22.05.2010 20:15