Webbrowser Post Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Webbrowser Post Sorunu

Mesaj gönderen G.Arkas »

iyi günler arkadaşlar çok basit sayılabilecek bir konuda bir bölüme takıldım.
şöyleki aşağıdaki kodlarla ilgili siteye post yapmaya çalışıyorum.ancak kodda hata yok derlemede sorun yok ama sebebini bilmediğim birşeyden ötürü kod post işlemini gerçekleştirmiyor.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate( 'http://geotool.servehttp.com/');
  While WebBrowser1.ReadyState <> READYSTATE_Complete do
    Application.ProcessMessages;
    WebBrowser1.OleObject.Document.GetElementByID('ip').value := 'edit1.text';
kod bundan ibaret programı çalıştırdığımda editbox'a yazdığım değeri post etmiyor sitedeki kutucuk boş kalıyor.
sorun nerede acaba küçük bir detayı kaçırdığımı düşünüyorum.

Not: Mozilla nın Urlparams Adlı eklentisiyle post edeceğim değeri yani aşağıdaki bölümü tespit ettim.

Kod: Tümünü seç

		<!-- IP Address/Hostname prompt and forms{{{2 -->
			
                               <div align="center" class="noprint">
				<b>IP Adres/Sunucu Ad&#305;&nbsp;</b>
				<form  name="ipaddress" method="post" action="/">
				<input type="text" size="30" name="ip">   <--------- Post işlemi yapılacak Değişken
				<input type="submit" value="G&#246;nder">
				</form>
				<form  name="ipaddress" method="post" action="/">
                                <input type="submit" value="Yeniden ba&#351;lat">
				</form>

			</div>
"ip" isimli değişken benim post edeceğim verinin ta kendisi.
yardımlarınız için şimdiden teşekkür ederim.
Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Webbrowser Post Sorunu

Mesaj gönderen mrmarman »

ilk gözüme çarpan hatan 'edit1.text'; şeklinde tırnak içine almış olman.


// EDIT //

Bu arada navigate ettirdiğin siteye gözüm ilişti de baktım ki orada iki form var. İkinci forma odaklanmayı unutmayasın... :!: :?:

Altını çizmek istediğim husus, sadece Element'in adını tespit etmen yetmez, örneğin bu sayfada iki farklı formda aynı element adı kullanılmış, yanlışlıkla ilkine odaklanırsan sonuç alamazsın. Aşağıda bu sayfa için örnek hazırladım. :idea:

http://geotool.servehttp.com/ için Form numarası, formdaki Item'lerin nosu ve ne olduklarının listesi

Kod: Tümünü seç

Form(00) - Item(00)(lang)
Form(00) - Item(01)(ip)
Form(00) - Item(02)(host)
Form(01) - Item(00)(ip)
Form(01) - Item(01)()
Form(02) - Item(00)()

Kod: Tümünü seç

  WebBrowser1.Navigate( 'http://geotool.servehttp.com/');
  While WebBrowser1.ReadyState <> READYSTATE_Complete do
    Application.ProcessMessages;

  Webbrowser1.OleObject.Document.forms.Item(1).Item(0).value := edit1.text;
  Webbrowser1.OleObject.Document.forms.Item(1).Item(1).Click;
Resim
Resim ....Resim
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Webbrowser Post Sorunu

Mesaj gönderen G.Arkas »

hocam çok teşekkür ederim sana gerçekten dikkat edilmesi gereken bir anektod.

edit1.text olayına gelince orayı ben kodda öyle yazmışım tırnaklar normalde yok ama burada öyle yazmışım :D

tıkır tıkır çalışıyor örneğiniz bu konunun biraz daha üstüne düşmem gerekecek iyi çalışmalar abi.
Resim
Cevapla