hido yazdı:Hocam elinize sağlık mükemmel olmuş fakat sanırım ben tam olarak ne demek istediğimi anlatamadım
googla da gold.com.tr bulunacak ve gold.com.tr içinde ikinci bir arama yaptırmak istiyorum...
- Valla yapmka istediğinden; Google ile aranma yaparak, belirli bir sitenin linkine oradan tıklatıp HIT'ini arttırmaya çalışıyorsun sandım. Ne diyeyim.
- İyi de bana açıklar mısın ?! Arama yapacağın site belli ise neden direkt oranın arama kodunu kullanmıyorsun da Google ile arayıp gidiyorsun ?
Örneğin:
http://www.gold.com.tr/Arama.aspx?text= ... +galaxy+s3 gibisinden...
Neyse istediğin şeyi yapan hali aşağıda... Derleyip toparladım.
Kod: Tümünü seç
USES ComObj;
Function AradigimLinkeTikla( strAra, strURL, strBulunacak: String ): boolean;
procedure Bekle( IEpp: OleVariant );
begin
while (IEpp.Busy) do
begin
Sleep(1);
Application.ProcessMessages;
end;
end;
var
I, J : Integer;
IEpp : OleVariant;
XLink, XSayfa : String;
boolGoogle : Boolean;
begin
if (VarIsEmpty(IEpp)) then
begin
IEpp := CreateOleObject('InternetExplorer.Application');
ShowWindow(IEpp.HWND, SW_SHOWMAXIMIZED);
IEpp.Visible := True;
end;
IEpp.Navigate('https://www.google.com.tr/search?q=' + strAra);
Bekle( IEpp );
boolGoogle := False;
Result := False;
while (i < Integer(IEpp.Document.Links.length) ) AND (NOT boolGoogle) do
begin
XLink := IEpp.Document.Links.Item(I);
if Pos( UpperCase(strUrl), UpperCase(XLink) ) > 0 then
begin
boolGoogle := true;
IEpp.Document.Links(I).Click;
Bekle( IEpp );
J := 0;
while (J < Integer(IEpp.Document.Links.length) ) AND (NOT Result) do
begin
XSayfa := IEpp.Document.Links.Item(J).Text;
if Pos( strBulunacak, XSayfa ) > 0 then
begin
IEpp.Document.Links(J).Click;
Result := True;
end;
Bekle( IEpp );
inc(J);
end;
end;
inc(i);
end; // While
end;
Kullanımı : (Denenmiştir)
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
//if AradigimLinkeTikla( 'bilgisayar', 'http://www.vatanbilgisayar.com', 'İletişim' )
//if AradigimLinkeTikla( 'bilgisayar', 'http://www.teknosa.com', 'İletişim' )
if AradigimLinkeTikla( 'bilgisayar', 'http://www.gold.com.tr', 'İletişim' )
then MessageDlg('İşlem başarılı', mtInformation, [mbOk], 0)
else MessageDlg('İletişim linki bulunamadı', mtError, [mbOk], 0);
end;