Merhaba arkadaşlar,
Soru-Cevap bölümündeki bir arkadaş bir soru sormuştu bende hem bu arkdaşın sorusunu cevaplıyacağız hemde Visual Basic.Net ‘de Websiteleri üzerinden işlem yapma konusuna değineceğiz.İstenen ”http://padfly.com/ ” sitesinde bir text alanına int veri girerek bir sayfa oluşturmak ve daha sonra oluşturulan bu sayfaya text üzerinden veri girmek ve istenirse ileride bu eklenen verileri int veriyi girerek textbox’da göstermek..
İlk olarak sayfanın tasarımını isteğe göre konun en altında gösteridiğim şekilde dizayn ediyoruz.
ve ilk olarak işlem yapacağımız siteyi formload olayında göstermemiz gerekiyor.
sayfaya eklediğimiz webbrowser nesnesinin formload’da işlem yapılacak olan sayfayı yani sitenin adını belirtiyoruz. ve site açıldıktan sonra
webbrowser ile ilk olarak işlem yapacağımız yani sitedeki yukarıdai resimde görüldüğü gibi text alanın input İd=”padname” buna göre programımız da buraya bir bir veri gireceğiniz bunuda;
ile texte İd üzerinden ulaşıyoruz ve setattribute ile buraya textten veri aktarıp yine aynı yukarıdaki resimdeki gibi “ View” butonun id sine ulaşıp buna invokemember metodu click yapıyoruz.. Bu işlemden sonra berlittiğimiz rakamsal ifadede sayfamız oluşturulacak.
ve sitede bu sayfa görünecek ardından biz yine yukarıdaki sitedeki text alanına kodunu inceleyerek name=”padstr” olduğunu görüyoruz. GetelementById metodunu kullanırken sitede sadece id değeri ola değeri değil aynı zamanda name kısımındaki değeride bu yöntem ile çekebiliriz..
ile sitede name değerine göre form’daki “ textmetin ” adını verdiğimiz text alanına veri aktarıyoruz ve sayfadaki save butonuna’da invokemember metodu ile click işlemini gerçekleştiriyoruz. ve sayfamıza kayıt işlemi tamamlanmış oluyor. ve sayfamıza ilk verdiğimiz kodu. “ 2414 “ bunu tabsekmesinde ikinci sekmeye geçiyoruz.. ve buradaki text alanına sadece kodu yapıştırıyoruz.
ile tab-2 sekmesine bir adet webbrowser nesnesi daha eklemiştik ve strig birleştirme ifadesi ile texte girilen kodu birleştirip sayafamızın açılmasını bekleyeceğiz.
Burada neden timer ekleyip böyle birşey yaptım? Çünkü eğer Direk göster butonuna tıklayıp yapsa idim direk ” webrowser2.navigate..... “ kodunu geçtikten sonra hemen aşağıdaki richebox ile ekleme işlemini yapacak ancak bu şekilde sayfada hata oluşur çünkü daha webbrowser verilen kodu sayfasında açmadan işlem yapmaya çalıştığımız için veriyi richetext’de göstermeyecek ve hata meydana gelecekti. 10 saniye yeterli gibi geldi bana norma bir internet hızında site çok hızlı işliyor bu yüzden 10 sn yeterli. Aslına bakarsanız işlemi farklı bir yöntem ilede yaptırabilirdik “ webbrowser2.ready..... = complated “ ilede sayfa tamamen yüklendikten sonrada bu işlemi yaptırabilirdik.Seçenekler çoğaltılabilir bu işlemi vb-net ile farklı farklı yöntemlerlede yapıla bilir ama mantık hep aynıdır. sitede ya id değerini bulup çekeceksin yada class,name,veya koşula bağlı gibi seçenekler çoğaltılabilir. Web sayfalarının kaynak kodlarını Firefox’un Firebug eklentisi ile çok rahat inceleyebilirsiniz ben bu anlatımda bu yöntemi kullandım.