Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 213
  • Last Modified:

twebrowser

Hi experts,
I need get  text from  twebwrowser by code.for example,get all the text in twebrowser from  row 3  to row5 .How to?thanks.
0
Cheng_sam
Asked:
Cheng_sam
  • 5
  • 4
1 Solution
 
EddieShipmanCommented:
Try something like this:
procedure TForm1.ParseResults(sl: TStringList);
var
 i, j: Integer;
begin
 for i := 0 to sl.Count-1 do
 begin
   if Pos('(1)', sl.Strings[i]) > 0 then
   begin
     for j := 0 to 39 do
     begin
       Memo1.Lines.Add(sl.Strings[i+j]);
     end;
   end;
 end;
end;
 
procedure TForm1.ParseFile(var sl: TStringList);
var
i, j: integer;
ovTable: OleVariant;
s: String;
begin
ovTable := WebBrowser1.OleObject.Document.all.tags('TABLE').item(0);
for i := 0 to (ovTable.Rows.Length - 1) do
begin
  for j := 0 to (ovTable.Rows.Item(i).Cells.Length - 1) do
  begin
    s := ovTable.Rows.Item(i).Cells.Item(j).innerText;
    sl.Text := s;
  end;
end;
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
 memo1.Lines.Clear;
 Webbrowser1.navigate('http://localhost/top40.html');
end;
 
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 sl: TStringList;
begin
 sl := TStringList.Create;
 try
   Parsefile(sl);
 finally
   ParseResults(sl);
   sl.Free;
 end;
end;

Open in new window

0
 
Cheng_samAuthor Commented:
thanks for your comment.
I have tested the codeand change the Webbrowser1.navigate('http://localhost/top40.html') to
'http://www.martinstoeckli.ch/delphi/delphi.html#AppLink'.it  see nothing.
0
 
EddieShipmanCommented:
Then the HTML must be different. Let me look at it.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
EddieShipmanCommented:
Yep, there are no TABLE tags in that HTML. What is it that you want to parse and into what.
0
 
Cheng_samAuthor Commented:
I try to get some text from a html. the text may be a area from line 2 to line 4 . no table tag.
0
 
EddieShipmanCommented:
I need to know exactly what text you want from that page.
0
 
Cheng_samAuthor Commented:
for axample,I visit google and search some key word.the pages show  a couple of result  .I want copy some word showed in page from line2 to line10(or others)   by code. the twebbrowser (or other method)can do this?
thanks
0
 
EddieShipmanCommented:
There is no way to get words from just line 2 or line 10, you have to know the source code of the page you want to pars and how it is designed. HTML is NOT very pretty and most of the time not very well structured so it would even be difficult to parse it based on the elements.

My suggestion is to study the HTML source of the page(s) you want to pare and then come back and we can help you figure out EXACTLY what it is you want.
0
 
Cheng_samAuthor Commented:
sorry for my late response because of my credit car expire.thanks.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now