Web Browser üzerinde bir butona tıklama sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Web Browser üzerinde bir butona tıklama sorunu

Mesaj gönderen adelphiforumz »

Selamlar

TWebBrowser üzerinden bir sayfa açıyorum
Bu sayfada bir edit alanı var bu alanı programdan otomatik doldurtuyorum
ve ekranda bulunan sorgula butonuna mouse ile basarsam sorun olmadan çalışıyor
fakat programdan aşağıdaki yöntem ile click yaptırdığımda bana enaz üç karakter girmelisiniz diye bir uyarı veriyor
bir butona farklı click işlemi varmıdır
teşekkürler

Not: önceki yazdıklarınızın birçoğunu okudum ve aşağıdaki yöntemleride denedim.
Silent mod : True
UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 1.1.4322)';
Registiry ekleme yönteminide denedim.
ovural yazdı:biraz geç olacak ama

Register daki

Kod: Tümünü seç

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
anahtarının altına uygulamanızın exe adını dword değeri olarak eklerseniz istediğiniz modda çalışır ..

ben dpr dosyasının içine aşağıdaki kodu ekliyorum .

Kod: Tümünü seç

Uses Registry;
try
  r := TRegistry.Create;
  r.RootKey := HKEY_CURRENT_USER;
  r.OpenKey('\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True);
  r.WriteInteger(ExtractFileName ( Application.ExeName) , 11001);
  r.CloseKey;
 except
 end;
    r.Free;
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  
  

Internet Explorer 11 için 11001

Internet Explorer 10 için 10001

Internet Explorer 9 için 9999 değerini kullanırsınız

internette FEATURE_BROWSER_EMULATION diye aratırsanız güncel ve diğer değerleride görebilirsiniz ..

Click deneme 1

Kod: Tümünü seç

    pr_ButtonBas('form1:buttonBarkodSorgula', 'INPUT', 'submit', 'Sorgula');
...
...
procedure TFrmWBIlacBilgiAl.pr_ButtonBas(sIdName, sTagName, sType, sValue:String);
var
   ovElements: OleVariant;
   iI : Integer;
begin
   try
     ovElements := WB.OleObject.Document.forms.item(0).elements;

     for iI := 0 to (ovElements.Length - 1) do
     begin
         if sIdName <> '' then
           if ovElements.item(iI).Id <> sIdName then Continue;

         if (ovElements.item(iI).tagName = sTagName) and (ovElements.item(iI).type = sType) and (ovElements.item(iI).Value = sValue) then
         begin
            ovElements.item(iI).Click;
         end;
     end;
   except
    on E: Exception do
    begin
      ShowMessage('Sisteme Giriş yapılamadı tekrar deneyiniz.' + #13#10 + 'Hata Mesajı : ' + E.Message);
    end;
   end;
end;

Click Deneme 2 ise Links.Length sonucu 0 geliyor

Kod: Tümünü seç

procedure TFrmBilgiAl.pr_ButtonBas1(sIdName, sTagName, sType, sValue:String);
var
  Doc: IHTMLDocument2;
  Links: IHTMLElementCollection;
  aLink: IHTMLElement;
  i: integer;
begin
  Doc := WB.Document as IHTMLDocument2;
  Links := Doc.Links;
  for i := 0 to Links.Length-1 do
  begin
    aLink := Links.Item(i, EmptyParam) as IHTMLElement;
    if sIdName <> '' then
     if aLink.id <> sIdName then Continue;

    aLink.Click;
  end;
end;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Web Browser üzerinde bir butona tıklama sorunu

Mesaj gönderen adelphiforumz »

Selamlar
Bu konuyu tekrar gündeme getirdim kusura bakmayın benim için önemli sayılır
yardımcı olabileceklere şimdiden teşekkürler

Kodları incelediğimde ilgili text alanı aşağıdaki gibi
<input id="form1:text5" name="form1:text5" type="text" value="1234567890123" maxlength="13" size="20" class="inputText" />

altlardada Java scriptleri var
hX_6.addBehavior("form1:text5", "oninput", new hX_6.JSFBehaviorAssist("converter:14", "validator:12", "prompt-char:default"));
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla