Html Parse

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bymerag
Üye
Mesajlar: 18
Kayıt: 15 Mar 2008 10:57

Html Parse

Mesaj gönderen bymerag »

Selamünaleyküm arkadaşlar
http://osos.dedas.com.tr:6767/osos/subs ... xInfo.aspx

bu sitedeki input alanlara değer göndermem gerekli şifre kısmını hallettim butonuda click olayı ile tetikleme olayını çözdüm.
bir tek tesisat numarasını yapamadım.
Yardım ederseniz sevinirim.

şifre alanının id txtPassword
Butonun BtnLogin
tesisat numarasıda txtWiringNo bu olması lazım ama bir türlü yapamadım.
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Html Parse

Mesaj gönderen adelphiforumz »

Kod: Tümünü seç

procedure TForm1.pr_AlanDoldur(_sId, _sIdValue, _sTagName, _sType :String);
var
  ovElements: OleVariant;
  I : Integer;
begin
    try
        ovElements := WB.OleObject.Document.forms.item(0).elements;
        for I := 0 to (ovElements.Length - 1) do
        begin
            if _sId <> '' then
              if ovElements.item(I).Name <> _sId then continue;

            if _sTagName <> '' then
              if (ovElements.item(I).tagName <> _sTagName) then Continue;

            if _sType <> '' then
              if ovElements.item(I).Type <> _sType then continue;

            WB.OleObject.Document.GetElementByID(_sId).Focus;
            WB.OleObject.Document.GetElementByID(_sId).Value := _sIdValue;
            WB.OleObject.Document.GetElementByID(_sId).Focus;
            break;
        end;
    except
    on E: Exception do
      begin
          ShowMessage('Değer Atanamadı' + #13#10 + 'Hata Mesajı : ' + E.Message);
      end;
    end;
end;

Kullanımı
pr_AlanDoldur('txtWiringNo', edtTestBarkod.Text, 'INPUT', 'text');
pr_AlanDoldur('txtPassword', edtTestBarkod.Text, 'INPUT', 'text');
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
bymerag
Üye
Mesajlar: 18
Kayıt: 15 Mar 2008 10:57

Re: Html Parse

Mesaj gönderen bymerag »

hocam bunu ekledim procedure pr_AlanDoldur(Sender: TObject);


{$R *.dfm}
hemen altına
prosedürüde en başa ekledim.
_sTagName
_sId
_sIdValue
bunlarda hata veriyor.
osiso
Üye
Mesajlar: 46
Kayıt: 02 Eki 2007 05:56
Konum: İSTANBUL
İletişim:

Re: Html Parse

Mesaj gönderen osiso »

begin
EmbeddedWB1.Navigate('http://osos.dedas.com.tr:6767/osos/subs ... xInfo.aspx');
while EmbeddedWB1.ReadyState<>READYSTATE_COMPLETE do
Application.ProcessMessages;

EmbeddedWB1.OleObject.Document.GetElementById('txtWiringNo').Value:='yazmak istediğin değer';
EmbeddedWB1.OleObject.Document.GetElementById('txtPasswordtext').Value:='yazmak istediğin değer';
EmbeddedWB1.OleObject.Document.GetElementById('btnLogin').click;

end;

kullanıcı adı ve şifre olmadığı için elimde deneme şansım olmadı eğer kullanıcı adı ve şifre verirsen yardımcı olurum...
bymerag
Üye
Mesajlar: 18
Kayıt: 15 Mar 2008 10:57

Re: Html Parse

Mesaj gönderen bymerag »

osiso yazdı:begin
EmbeddedWB1.Navigate('http://osos.dedas.com.tr:6767/osos/subs ... xInfo.aspx');
while EmbeddedWB1.ReadyState<>READYSTATE_COMPLETE do
Application.ProcessMessages;

EmbeddedWB1.OleObject.Document.GetElementById('txtWiringNo').Value:='yazmak istediğin değer';
EmbeddedWB1.OleObject.Document.GetElementById('txtPasswordtext').Value:='yazmak istediğin değer';
EmbeddedWB1.OleObject.Document.GetElementById('btnLogin').click;

end;

kullanıcı adı ve şifre olmadığı için elimde deneme şansım olmadı eğer kullanıcı adı ve şifre verirsen yardımcı olurum...
Hocam embeddedWB ben bu bileşeni bulmadım.
kullanıcı adı ve şifreyi veremiyorum müşterinin şifresi kusura bakmayın.
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Html Parse

Mesaj gönderen Lord_Ares »

Embedded yerine webbrowser1 veya kaçsa onu kullanacaksın.
bymerag
Üye
Mesajlar: 18
Kayıt: 15 Mar 2008 10:57

Re: Html Parse

Mesaj gönderen bymerag »

kullanıcı adı ve şifre
deneme yapabilirmisiniz.

Tesisat No 04914276
Şifre T4914276
dediğiniz gibi yaptım hata veriyor.
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Html Parse

Mesaj gönderen Lord_Ares »

Formuna bir adet webbrowser ve bir button koy. Formun uses kısmına OleCtrls ve MSHTML ekle.
Form açıldığında siteyi navigate et ve sayfa yüklendiğinde button1 tıklayarak aşağıdaki kodu dene.
Tesisat numarası girilecek kutunun name ve id si aynı verilmiş =txtWiringNo
Formunuzdaki Buttona aşağıdaki kodu yazarak deneyin.

Kod: Tümünü seç

webbrowser1.OleObject.Document.GetElementById('txtWiringNo').Value:='123test';
bymerag
Üye
Mesajlar: 18
Kayıt: 15 Mar 2008 10:57

Re: Html Parse

Mesaj gönderen bymerag »

Lord_Ares yazdı:Formuna bir adet webbrowser ve bir button koy. Formun uses kısmına OleCtrls ve MSHTML ekle.
Form açıldığında siteyi navigate et ve sayfa yüklendiğinde button1 tıklayarak aşağıdaki kodu dene.
Tesisat numarası girilecek kutunun name ve id si aynı verilmiş =txtWiringNo
Formunuzdaki Buttona aşağıdaki kodu yazarak deneyin.

Kod: Tümünü seç

webbrowser1.OleObject.Document.GetElementById('txtWiringNo').Value:='123test';
Hocam dediğinizi yaptım.Ekranda Test123 görünüyor ama tesisat alanına tıkladığımda yazı kayboluyor yada

Kod: Tümünü seç

BtnLogin.click
dediğimde tesisat alanı boş diyor.
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Html Parse

Mesaj gönderen hakanharbeli »

Merhaba;

id dooğru yukardaki hocaların metodları da doğru.

size tavsiyen login butonuna tıklatmadan sadece formu doldurtun. oradan belli olur doldurulup doldurulmadığı.

Formu doldur butonuna tıkladığınızda form doluyor ise siz mousela giriş butonuna tıklayıp deneyin önce. giriş yapılırsa login butonuna tıklatırken bir sorun oluyor demektir. Eğer giriş yapmazsa robotlar için koruma var demektir. Bazı formlarda mouse edit text'in içine tıklamazsa robot olarak algılıyor.
Cevapla