Webbrowser'daki butona nasıl tıklanır?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
guduknecmi
Üye
Mesajlar: 99
Kayıt: 08 Nis 2004 02:18
İletişim:

Webbrowser'daki butona nasıl tıklanır?

Mesaj gönderen guduknecmi »

Webbrowserdaki butona nasıl tıklayabilirim? diye sorduktan hemen sonra gerekli bazı bilgileri vereyim...


Çalıştığım sayfada 3 frame var.İstediğim framedeki bir alana(TC Kimlik No) giriş yapabiliyorum.
Sayfadaki bölümü

Kod: Tümünü seç

<TD><input type="text" name="kimlikNoFiter" maxlength="11" value=""></TD>
Programdaki kodlar..

Kod: Tümünü seç

procedure Tfrmaktar.cxButton10Click(Sender: TObject);
var
iDoc: IHtmlDocument2;
  i: integer;
  ov: OleVariant;
  ana,frm:olevariant;
  iDisp,idisp2: IDispatch;
  iColl: IHTMLElementCollection;
  iInputElement: IHTMLInputElement;
begin

  WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
  if not assigned(iDoc) then begin
    ShowMessage(' !!!??? Kayıt Sayfası Bulunamadı ... ');
    Exit;
  end;
   ov := 'INPUT';
  ana:='main';
  frm:='kisiBilgileriGuncelleFormBean';
    idisp2:=  idoc.frames.item(ana).Document.forms.item(frm);
  if assigned(IDisp2) then
    begin
   idisp:=idoc.frames.item(ana).Document.forms.item(frm).tags(ov);
  if assigned(IDisp) then
   begin
    IDisp.QueryInterface(IHTMLElementCollection, iColl);
    if assigned(iColl) then
     begin
      for i := 1 to iColl.Get_length do
       begin
        iDisp := iColl.item(pred(i), 0);
        iDisp.QueryInterface(IHTMLInputElement, iInputElement);
        if assigned(iInputElement) then
         begin
      if iInputElement.Get_name = 'kimlikNoFiter'

          then iInputElement.Set_value(trim(cxdbtextedit1.text));

    END;   end;
          end;
          end;
          end;
end;
Bu sayfada sorgulama butonu olarak bir gif kullanılmış ve javascript atanmış.
Sitede yaptığım aramada, aşağıdaki kodu buldum.Ancak bir türlü programıma uyarlayıp çalıştıramadım.

Kod: Tümünü seç

WebBrowser1.Navigate( WideString('javascript:fonksiyon_adi();') );
Web sitesindeki sorgulama butonu kodu;

Kod: Tümünü seç

<a class="button" href="javascript:document.forms[0].action.value='getFilteredKisiler';document.forms[0].submit();"><IMG src="/ykWEB/images/buttons/buton_sorgula.gif" border="0"><a/>


Başarısız denemelerim:

Kod: Tümünü seç

   Webbrowser1.Navigate('javascript:document.forms[0].action.value='+'''getFilteredKisiler'''+';document.forms[0].submit();');

Webbrowser1.Navigate('javascript:idoc.frames.item(main).document.forms[0].action.value='+'''getFilteredKisiler'''+';idoc.frames.item(main).document.forms[0].submit();');
        
  Webbrowser1.Navigate('javascript:idoc.frames.item('+'''main'''+').document.forms[0].action.value='+'''getFilteredKisiler'''+';idoc.frames.item('''+'main'''+').document.forms[0].submit();');
        
bu denemelerde bir hata vermiyor ancak herhangi bir işlem de yapmıyor.
İsteğim TC Kimlik Noyu ilgili alana aktardıktan sonra programdan sorgulama butonuna basmak, veya aynı işlemi yaptırmak.Bu işlemi nasıl yapabileceğim konusunda yardımcı olabileceklere şimdiden Teşekkür Ederim.
En son guduknecmi tarafından 15 Şub 2009 10:14 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
oklawa
Üye
Mesajlar: 68
Kayıt: 01 Oca 2008 02:53

Re: Webbrowser'daki butona nasıl tıklanır?

Mesaj gönderen oklawa »

Neden WebBrowser arabirimini kullandığınızı bilmiyorum.
Benim genel olarak kullandığım yöntem POST/GET işlemi.

TIdHttp ile yapılabilir mesela ama türkçe karakter sorunu yaşıyorum bu nedenle
TIEHttp bileşenini kullanıyorum.

Eğer ille de WebBrowser kullanmak zorundaysanız, butona tıklamak yerine aynı verileri webbrowser objesini
kullanarak post etmeyi deneyebilirsiniz.
Cevapla