e-okul kutuya tıklama veriyi alma

Kodla Büyü

sinansuzer

Site Gezgini
Mesajlar
35
merhaba arkadaşlar resimde görüldüğü gibi eokul ortamına girerken tıklama yaptırıp içindeki veriyi almak istiyorum bu konuda yardıma ihtiyacım var.

<i class="feather icon-eye f-20"></i> kod içeriği bu şekilde

göze tıklamadan önceki
<img src="/Common/bitMapResimGoster.aspx?BitMapResim=********" class="image">

göze tıkladıktan sonra
feather icon-eye f-20


göze tıkladıktan sonra aşağıda geçen ismi excele almak istiyorum.
<img src="/Common/bitMapResimGoster.aspx?BitMapResim=ŞÜKRÜ" class="image">

Ekli dosyalar​

 

Ekli dosyalar

  • html kod ekranı.jpg
    html kod ekranı.jpg
    98.1 KB · Görüntüleme: 124
Altta bulunan linki inceleyin öğretmenim. İstediğiniz Bu alması gerek.
 
Merhaba bende kendi kullandığım VBA ile hazırladığımız program ile yapmak istiyorum geçen seneye kadar verileri alabiliyorduk şimdi olmuyor vba gizlilik için eklenmiş kutuya tıklayıp veriyi almak istiyorum
 
bu programı denedim fakat kaynak kodunuda almıştım c sharp ile yaldığı için kendi vba koduna uyarlayamadım.
 
hocam göze tıkladıktan sonra içindeki yazıyı almak için bilginin geçtiği tek yer olan img tag'ının href parametrisini okumak lazım
normalde getattribute("href") ile o paremetreyi okuyabiliyoruz ama türkçe karakter sorunu çıkıyor bu nedenle img nesnesine ulaştıktan sonra getattiribute("outerhtml") ile direkt metin olarak alıyoruz
sonra metni bölerek bilgiyi çekiyoruz içinden

sayfada çok fazla img tag'ı olduğu için hangi img'ı okumanız gerektiğini ayıklamak işin püf noktası
onun içinde class name olarak col-sm-4 olan tüm nesneleri list olarak alıp içinde dolaşmak lazım
örneğin class name bilgisi col-sm-4 olan tüm nesneleri alınca 0. ve 1. elemanların içindeki img tag'ında ad bilgisi 2.ve 3. elemanların içindeki img tag'ında soyad bilgisi mevcut 4. ve 5.de başka birşey sonraki ikilide başka birşey var. inceleyip hangisi gerekliyse okuyoruz


aranan = eokul.FindElements(By.ClassName("col-sm-4"));
if (anneListBox.GetItemChecked(0) == true)
{
try
{
veri = aranan[0].FindElement(By.TagName("img"));
geciciVeri = veri.GetAttribute("outerHTML").ToString();
geciciVeri = geciciVeri.Remove(0, geciciVeri.IndexOf("BitMapResim=") + 12);
adSoyad = geciciVeri.Substring(0, geciciVeri.IndexOf("\""));
veri = aranan[2].FindElement(By.TagName("img"));
geciciVeri = veri.GetAttribute("outerHTML").ToString();
geciciVeri = geciciVeri.Remove(0, geciciVeri.IndexOf("BitMapResim=") + 12);
adSoyad += " " + geciciVeri.Substring(0, geciciVeri.IndexOf("\""));

dataGridView1.Rows[satir].Cells["anneAdSoyad"].Value = adSoyad;
}
catch { dataGridView1.Rows[satir].Cells["anneAdSoyad"].Value = "Hata"; }
}
 
<i class="feather icon-eye f-20"></i><img src="/Common/bitMapResimGoster.aspx?BitMapResim=********" class="image"> buraya kadar hücreye aldım öğretmenim ama ** ları nasıl açmak gerekiyor onu çzemedim.
 
Kod:
Option Explicit



Public rcpckr As New Selenium.WebDriver



Sub Baba_adı_al()

Dim aranan

rcpckr.FindElementByXPath("//i[@class='feather icon-eye f-20']").Click  'Baba Gözüne tıkla

aranan = rcpckr.FindElementByClass("col-sm-4").FindElementByClass("row").FindElementByClass("col-sm-4").Attribute("innerHTML") 'Acılan gözlü bilgiyi değişkene al

Cells(1, 1) = Split(Split(aranan, "BitMapResim=")(1), Chr(34) & " ")(0) ' değişkeni parçalayarak ada ulaş
İşi Çözdüm
 
Kod:
Option Explicit



Public rcpckr As New Selenium.WebDriver



Sub Baba_adı_al()

Dim aranan

rcpckr.FindElementByXPath("//i[@class='feather icon-eye f-20']").Click  'Baba Gözüne tıkla

aranan = rcpckr.FindElementByClass("col-sm-4").FindElementByClass("row").FindElementByClass("col-sm-4").Attribute("innerHTML") 'Acılan gözlü bilgiyi değişkene al

Cells(1, 1) = Split(Split(aranan, "BitMapResim=")(1), Chr(34) & " ")(0) ' değişkeni parçalayarak ada ulaş
İşi Çözdüm
Recep hocam bu kod selenium için normal VBA ile yapma imkanı varmı
 
merhaba vba selenium a yeni başladım fakat e-okula girdikten sonra öğrenci işlemlerine tıklatamıyorum
Sub mebbis()
obj.Get "https://mebbis.meb.gov.tr/"
While obj.ExecuteScript("return document.readyState") <> "complete"
obj.Wait (5000)
Wend
obj.FindElementById("txtKullaniciAd").SendKeys ("****************")
obj.FindElementById("txtSifre").SendKeys ("**************")
obj.FindElementById("btnGiris").Click


obj.FindElementByXPath("/html/body/form/section/div/div/div[2]").Click
obj.Wait 1000

obj.FindElementByXPath("/html/body/form/div[8]/div/div/div[2]/ul/li/a").Click
obj.Wait 1000
obj.FindElementByXPath("/html/body/form/header/div[1]/a[1]").Click

obj.FindElementByXPath("/html/body/form/nav/div/div/ul[1]/li[6]/a").Click
End Sub
 
Kod:
Option Explicit



Public rcpckr As New Selenium.WebDriver



Sub Baba_adı_al()

Dim aranan

rcpckr.FindElementByXPath("//i[@class='feather icon-eye f-20']").Click  'Baba Gözüne tıkla

aranan = rcpckr.FindElementByClass("col-sm-4").FindElementByClass("row").FindElementByClass("col-sm-4").Attribute("innerHTML") 'Acılan gözlü bilgiyi değişkene al

Cells(1, 1) = Split(Split(aranan, "BitMapResim=")(1), Chr(34) & " ")(0) ' değişkeni parçalayarak ada ulaş
İşi Çözdüm
Hocam diğer bilgileri alabiliyormunuz? Soyadı alırken nasıl bir kod kullanıyorsunuz.
 
E-Okul Öğrenci Bilgilerini Alma-v2.3 proramında resim bölümü çalışıyor.

 
program lise için Recep hocamın desteği ile selenium kodlarıyla yapıldı.
 

Ekli dosyalar

  • E-OKUL VERİ ALMA.rar
    126.8 KB · Görüntüleme: 43
Sevgili meslekdaşlarım çok büyük bir okuldayım. Yoklamaların bir veri girişi yapıldıkdan sonra otomatik yüklenmesi gibi bir seçenek olabilirmi. Yada farklı önerilere açığım🙏🙏 teşekkür ederim yardımcı olursanız.
 
Sevgili meslekdaşlarım çok büyük bir okuldayım. Yoklamaların bir veri girişi yapıldıkdan sonra otomatik yüklenmesi gibi bir seçenek olabilirmi. Yada farklı önerilere açığım🙏🙏 teşekkür ederim yardımcı olursanız.
Evet varr. Ben özürlü devamsızlıkları kendi hazırladığım programla giriyorum. Özürsüz için yapan programlar var ama ben manuel giriş yapıyorum.
 
Evet varr. Ben özürlü devamsızlıkları kendi hazırladığım programla giriyorum. Özürsüz için yapan programlar var ama ben manuel giriş yapıyorum.
 
Geri
Üst