Kod: Tümünü seç
procedure Getir(const classname: string);
var
Doc:IDispatch;
Document: IHTMLDocument2;
Body: IHTMLElement2;
Tags: IHTMLElementCollection;
Tag: IHTMLElement;
I: Integer;
begin
Doc:=Form1.WebBrowser1.Document;
Form1.Memo2.Clear;
if not Supports(Doc, IHTMLDocument2, Document) then exit;
if not Supports(Document.body, IHTMLElement2, Body) then exit;
Tags := Body.getElementsByTagName('*');
for I := 0 to Pred(Tags.length) do
begin
Tag := Tags.item(I, EmptyParam) as IHTMLElement;
if AnsiSameText(Tag._className, classname) then
begin
Form1.Memo2.Lines.Add(Tag.innerHTML);
end;
end;
Sorunum ise , web saysafında, sadece belirlediğim bir ana div içindeki divlerde arama yapsın istiyorum. Aşağıda kısaca gösterim. Class adı Anadiv adında bir divin içerisinde sağ ve sol class adına sahip iki divimiz var. Benim yapmak istediğim sadece Soldiv class adınla oluşturulmuş divin içindeki Deneme adlı divdeki bilgileri çekmek. Yukarıdaki kodu kullandığımda hem sağ hem sol div içindeki bilgileri getiriyor. Normal de pos ile bu istediklerimi alabiliyorum fakat bu işlemler bazı sayfalarda başlangıç ve bitiş noktası bulmak,temizlemek gibi işlemler epey zor oluyor. Dolayısı ile yukarıdaki kod parçasının mantığı ile sayfadaki istediğim bloğa odaklanabilir ve sadece buradaki şu class adına sahip divlere bu işlemi yap diyebilirsem çok kolay olucak. Fikriniz ve yardımlarınız için şimdiden teşekkürler.
Örneğin şöyle;
Kod: Tümünü seç
<div class="Anadiv">
<div class="Soldiv"> <div class="Sağdiv">
<div class="Deneme">55</div> <div class="Deneme">55</div>
<div class="Deneme">88</div> <div class="Deneme">88</div>
</div> </div>
</div>