![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте.
- у меня есть идентификатор открытого окна - окно: это видимо браузер с сайтом (строки с адресом нет, но внутри отображается подгруженный html-код) подскажите, пожалуйста, как решить такую задачу: -мне надо получить в виде текста (StringList, например) содержимое окна (ну как если бы я нажал на окне правую клавишу и нажал "Посмотреть html код" - вот нужен этот код в текстовом виде) Заранее спасибо |
|
#2
|
||||
|
||||
|
А какой браузер используйте?
Я знаю, что в opera нужно кликнуть пкм и выбрать "исходный код" (но тогда Вам покажет весь код страницы. Отдельные блоки разделены тегами типа <frame src="">//код</frame>) |
|
#3
|
|||
|
|||
|
Открывает видимо браузер по умолчанию (Chrome или IE) - как я понял, там отрабатывает javascript.
Собственно мне нужен весь код страницы. |
|
#4
|
|||
|
|||
|
Задача свелась к простому узнаванию URL, который грузит окно.
Знает кто-нибудь, как, зная дескриптор окна, получить URL этого окна (строки с адресом нет), который грузится внутри этого окошка - оно ведь как то запрос делает (если нажать на правую клавишу и посмотреть свойства, то там прям есть Адрес URL и его значение --- то есть может как то до свойств она добраться можно)? |
|
#5
|
||||
|
||||
|
Как вариант - снять дамп и ковыряться в нем, а так воще хз, может если сообщения слать в браузер, чо-то выйдет.
|
|
#6
|
|||
|
|||
|
Цитата:
Код:
uses windows, ddeman, ......
function Get_URL(Servicio: string): String;
var
Cliente_DDE: TDDEClientConv;
temp:PChar;
begin
Result := '';
Cliente_DDE:= TDDEClientConv.Create( nil );
with Cliente_DDE do
begin
SetLink( Servicio,'WWW_GetWindowInfo');
temp := RequestData('0xFFFFFFFF');
Result := StrPas(temp);
StrDispose(temp); //<<-Предотвращаем утечку памяти
CloseLink;
end;
Cliente_DDE.Free;
end;
procedure TForm1.Button1Click(Sender);
begin
showmessage(Get_URL('Netscape'));
или
showmessage(Get_URL('IExplore'));
end; |
|
#7
|
|||
|
|||
|
to icsander:
Не совсем понял, в а где в приведенном коде надо указать хендл окна? И вот еще момент --- в этом окне мне удалось добраться до объекта "Internet Explorer_Server". Может быть это как-то упростит ситуацию получения URLа? |