Solved

twebrowser

Posted on 2009-05-18
9
207 Views
Last Modified: 2012-05-07
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
Comment
Question by:Cheng_sam
  • 5
  • 4
9 Comments
 
LVL 26

Expert Comment

by:EddieShipman
ID: 24413365
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
 

Author Comment

by:Cheng_sam
ID: 24422515
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
 
LVL 26

Expert Comment

by:EddieShipman
ID: 24423246
Then the HTML must be different. Let me look at it.
0
ScreenConnect 6.0 Free Trial

Want empowering updates? You're in the right place! Discover new features in ScreenConnect 6.0, based on partner feedback, to keep you business operating smoothly and optimally (the way it should be). Explore all of the extras and enhancements for yourself!

 
LVL 26

Expert Comment

by:EddieShipman
ID: 24423258
Yep, there are no TABLE tags in that HTML. What is it that you want to parse and into what.
0
 

Author Comment

by:Cheng_sam
ID: 24432664
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
 
LVL 26

Expert Comment

by:EddieShipman
ID: 24433391
I need to know exactly what text you want from that page.
0
 

Author Comment

by:Cheng_sam
ID: 24443085
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
 
LVL 26

Accepted Solution

by:
EddieShipman earned 200 total points
ID: 24455808
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
 

Author Comment

by:Cheng_sam
ID: 24649316
sorry for my late response because of my credit car expire.thanks.
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
build html 5 client that connect to indy Tidtcpserver 3 404
Delphi application Soap connection 5 106
control image tags in a string ? 12 134
Graphics32 under Delphi 10.1 Berlin 2 69
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question