Работа С Сайтами

  • Автор темы gmmjob
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

gmmjob

#1
Доброго Вам времени суток!!
Помогите кто чем может.
Сделал простенький браузер с помощью WebBrowser1 (сразу скажу что я полный чайник в delphi) и хочу в него всунуть следующее:
1. Чтобы браузер по команде (через кнопку) копировал с HTML кода странички значение одной ячейки таблицы типа -
<tr>
<td align="center"><span id="ctl00_plhMain_lblMsg" class="Validation">09.Лип.2012</span></td>
</tr>
09.Лип.2012 - переменное значение (вот его и надо копировать), оно всегда находится после <td align="center"><span id="ctl00_plhMain_lblMsg" class="Validation">, записывал данное значение в буфер или куда то в строчку, после этого обновлялся и сравнивал ранее сохраненное значение с новым, если же значения отличаются то издавался звуковой сигнал, если значение остается прежним то чтобы браузер обновлялся (с интервалом 2-3 мин) до тех пор пока оно не поменяется.
Очень буду благодарен, помогите, за мной не заржавеет.
 

sinkopa

Well-known member
17.06.2009
344
4
#2
Доброго Вам времени суток!!
Помогите кто чем может.
Сделал простенький браузер с помощью WebBrowser1 (сразу скажу что я полный чайник в delphi) и хочу в него всунуть следующее:
1. Чтобы браузер по команде (через кнопку) копировал с HTML кода странички значение одной ячейки таблицы типа -
<tr>
<td align="center"><span id="ctl00_plhMain_lblMsg" class="Validation">09.Лип.2012</span></td>
</tr>
09.Лип.2012 - переменное значение (вот его и надо копировать), оно всегда находится после <td align="center"><span id="ctl00_plhMain_lblMsg" class="Validation">, записывал данное значение в буфер или куда то в строчку, после этого обновлялся и сравнивал ранее сохраненное значение с новым, если же значения отличаются то издавался звуковой сигнал, если значение остается прежним то чтобы браузер обновлялся (с интервалом 2-3 мин) до тех пор пока оно не поменяется.
Очень буду благодарен, помогите, за мной не заржавеет.
Ну... чего куда сохранять (запоминать) вы уж сами придумывайте... в буфер там или еще куда... :)
А вот как отыскать HTML элемент в документе брузера подскажу.
Последовательность такая:

1. Импортируем библиотеку типов "Microsoft HTML Object Library" (живет в C:\WINDOWS\system32\MSHTML.TLB)
Меню Project->Import Type Library...
2. Добавляем в uses MSHTML_TLB, MMSystem;

Дальше, не сложно.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
HtmlDoc: IHTMLDocument3;
Elem: IHTMLElement;
ElemID: WideString;
NewData: WideString;
begin
// Получаем из документа интерфейс IHTMLDocument3
HtmlDoc := WebBrowser1.Document as IHTMLDocument3;

// Ищем елемент
ElemID := 'ctl00_plhMain_lblMsg';
Elem := HtmlDoc.getElementById(ElemID);

if (Elem <> nil) then
begin
NewData := Elem.innerText;
//ShowMessage(NewData);
if (OldData <> NewData) then
begin
// Играем музыку :)
sndPlaySound('SystemExit', SND_SYNC);
// Запоминаем новые данные
OldData := NewData;
end
else
WebBrowser1.Refresh;
end;
end;
Вот... а обновление страницы можно по таймеру например...
 
Статус
Закрыто для дальнейших ответов.