Solved

twebrowser

Posted on 2009-05-18
9
204 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
 
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

744 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now