Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
Delphi XE4 Ultimate
|
AW: WebBrowser Html Wort für Wort auslesen
28. Jan 2013, 21:15
Hallo,
Du kannst mal versuchen, ob folgender Code auf Deine Anforderungen anpassbar ist.
Delphi-Quellcode:
uses
MSHTML;
procedure TForm4.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate (' some-url.htm');
end;
procedure TForm4.Button2Click(Sender: TObject);
var
r0, r1 : IHTMLTxtRange;
t : string;
l : Integer;
begin
r0 := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange;
r0.moveStart (' textedit', 0);
while r0.text <> ' ' do
begin
r1 := r0.duplicate;
r0.moveStart (' word', 1);
r1.setEndPoint (' EndToStart', r0);
t := r0.text;
while (t <> ' ') and (t [1] in [#9, #10, #13]) do
begin
r0.moveStart (' character', 1);
t := r0.text
end;
t := r1.text;
if (t = ' ') then
Continue;
l := Length (t);
while (t <> ' ' ) and (t [l] in [#9, #32]) do
begin
r1.moveEnd (' character', -1);
Delete (t, l, 1);
Dec (l)
end;
if l = 0 then
Continue;
if (l = 1) and (t [1] in [' .', ' ,', ' !', ' ?']) then
Continue;
// ggf. auf Anhäufung ungültiger Zeichen o. ä. prüfen
try
r1.select;
Application.ProcessMessages;
Sleep (200)
except
// ggf. Log
// Text in einem HTML-Container mit style="display:none / visibility:hidden" konnten nicht selektiert werden
end;
end;
r0.select
end;
Gruß
Volker Zeller
|
|
Zitat
|