[Yardım]  getelementbyid bilinen item no bulma

Excel programınıza Web Sayfalarından veri alarak çalışabileceğiniz bölüm.

getelementbyid bilinen item no bulma

İleti#1)  snf124 » 30 Haz 2020 07:56

Merhabalar;

Bir web sayfasından veri almaya çalışıyorum. almak istediğim item numarasının bir "id"si yok ancak bir önceki item numarasının "id"si var. Yapmak istediğim "id" si bulunan kısmın "item no"suna ulaşmak.

örnek vermek gerekirse;
Kod: Tümünü seç
a = .document.getelementbyid("bilinen").itemno
[A1]= .document.all.item(a+1).İnnertexet


item no nasıl bulabilirim ?
Kullanıcı avatarı
snf124
Siteye Alışmış
 
Adı Soyadı:selim vardar
Kayıt: 19 Ağu 2012 08:16
Konum: diğer
Meslek: diğer
Yaş: 40
İleti: 202
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: çanakkale

Cevap: getelementbyid bilinen item no bulma

İleti#2)  Yasin KURT » 30 Haz 2020 09:14

classname olarak belki bi şeyler çıkabilir. O kısımdaki html satırlarını paylaşır mısınız ?
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 38
İleti: 3276
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



Cevap: Cevap: getelementbyid bilinen item no bulma

İleti#3)  snf124 » 30 Haz 2020 09:33

Yasin KURT yazdı:classname olarak belki bi şeyler çıkabilir. O kısımdaki html satırlarını paylaşır mısınız ?


Kod: Tümünü seç
<table class="vis">
   <tr>
      <td class="selected"><a href="/game.php?village=9040&amp;screen=train&amp;mode=train&amp;">Asker toplama</a></td>
      <td ><a href="/game.php?village=9040&amp;screen=train&amp;mode=decommission&amp;">Açığa alma</a></td>      <td ><a href="/game.php?village=9040&amp;screen=train&amp;mode=mass&amp;">Toplu asker toplama</a></td>
      <td ><a href="/game.php?village=9040&amp;screen=train&amp;mode=mass_decommission&amp;">Toplu açığa alma</a></td>      <td><a href="/game.php?village=9040&amp;screen=am_troops&amp;mode=troops&amp;">Birlik Yöneticisi</a></td>   </tr>
</table>

<form action="/game.php?village=9040&screen=train&action=train&mode=train&h=d53afce0" id="train_form" method="post">
   <table class="vis" style="width: 100%">
      <tr>
         <th style="width: 20%">Birim</th>
         <th style="min-width: 400px">İhtiyaç</th>
         <th>Köyde/toplam</th>
         <th style="width: 120px">Asker topla</th>
      </tr>

                  <tr class="row_a">
         <td class="nowrap">
            <a href="#" class="unit_link" data-unit="spear">
               <img src="https://dstr.innogamescdn.com/asset/e4375bb/graphic/unit/recruit/spear.png" style="vertical-align: middle" alt="" class="" />
               Mızrakçı
            </a>
         </td>
         <td>
            <div class="recruit_req">
                    <span><span class="icon header wood"> </span><span id="spear_0_cost_wood">50</span></span>
                    <span><span class="icon header stone"> </span><span id="spear_0_cost_stone">30</span></span>
                    <span><span class="icon header iron" > </span><span id="spear_0_cost_iron">10</span></span>
            <span><span class="icon header population"> </span><span id="spear_0_cost_pop">1</span></span>
            <span><span class="icon header time"></span><span id="spear_0_cost_time">0:02:13</span></span>
            </div>
         </td>
         <td style="text-align: center">9505/9505</td>
       




En alttaki "9505/9505" kısmını almaya çalışıyorum.
Kullanıcı avatarı
snf124
Siteye Alışmış
 
Adı Soyadı:selim vardar
Kayıt: 19 Ağu 2012 08:16
Konum: diğer
Meslek: diğer
Yaş: 40
İleti: 202
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: çanakkale

Cevap: getelementbyid bilinen item no bulma

İleti#4)  Yasin KURT » 30 Haz 2020 12:15

Mevcut kod yapınıza uydurmaya çalışabilirsiniz.

table tag ının altındaki verileri a değişkenine attıktan sonra "tr" tag satırındakilere bu şekilde ulaşabilirsiniz. Google üzerinden de bu şekilde aramalar yapabilirsiniz.

Kod: Tümünü seç
Set htmlDoc = CreateObject("HTMLFile")
htmlDoc.body.innerhtml = xmlhttp.responseText
Set a = htmlDoc.getElementsByTagName("table")
For Each aa In a
If aa.classname = "vis" Then
    For Each b In aa.getElementsByTagName("tr")
        veri = b.Children(3).innerText
    Next
End If
Next
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 38
İleti: 3276
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Cevap: getelementbyid bilinen item no bulma

İleti#5)  snf124 » 30 Haz 2020 12:53

Yasin KURT yazdı:Mevcut kod yapınıza uydurmaya çalışabilirsiniz.

table tag ının altındaki verileri a değişkenine attıktan sonra "tr" tag satırındakilere bu şekilde ulaşabilirsiniz. Google üzerinden de bu şekilde aramalar yapabilirsiniz.

Kod: Tümünü seç
Set htmlDoc = CreateObject("HTMLFile")
htmlDoc.body.innerhtml = xmlhttp.responseText
Set a = htmlDoc.getElementsByTagName("table")
For Each aa In a
If aa.classname = "vis" Then
    For Each b In aa.getElementsByTagName("tr")
        veri = b.Children(3).innerText
    Next
End If
Next


Yasin Bey, çalıştıramadım. If aa.classname = "vis" Then kısmını atlıyor
Kullanıcı avatarı
snf124
Siteye Alışmış
 
Adı Soyadı:selim vardar
Kayıt: 19 Ağu 2012 08:16
Konum: diğer
Meslek: diğer
Yaş: 40
İleti: 202
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: çanakkale

Cevap: getelementbyid bilinen item no bulma

İleti#6)  Yasin KURT » 30 Haz 2020 12:56

Dosyanızı yada kodlarınızı paylaşır mısınız ?
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 38
İleti: 3276
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: getelementbyid bilinen item no bulma

İleti#7)  snf124 » 30 Haz 2020 14:39

Yasin KURT yazdı:Dosyanızı yada kodlarınızı paylaşır mısınız ?


Kod: Tümünü seç
    Dim Rky As Object, i As Byte, ayır As Variant
    Set Rky = CreateObject("internetexplorer.application")
    With Rky
     
       
.Navigate "xxxxxxxkullanıcı tarafından gizlendi:)xxxxx"
           
        Do While .busy: DoEvents: Loop
        Do While Not .READYSTATE = 4: DoEvents: Loop
        Application.Wait (Now + TimeValue("0:00:02"))
       
Set htmlDoc = CreateObject("HTMLFile")
htmlDoc.body.innerhtml = xmlhttp.responseText
Set a = htmlDoc.getElementsByTagName("table")
For Each aa In a
If aa.classname = "vis" Then
    For Each b In aa.getElementsByTagName("tr")
        veri = b.Children(3).innerText
    Next
End If
Next

        .Quit
        End With
Kullanıcı avatarı
snf124
Siteye Alışmış
 
Adı Soyadı:selim vardar
Kayıt: 19 Ağu 2012 08:16
Konum: diğer
Meslek: diğer
Yaş: 40
İleti: 202
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: çanakkale

Cevap: getelementbyid bilinen item no bulma

İleti#8)  Yasin KURT » 30 Haz 2020 15:06

Kod arasına bir satır ekledim. iki kısmı birbirine bağlamak gerek. Siz aynı şekilde kopyalamışsınız.
Bu şekilde deneyin. Bildiğim bu kadar

Kod: Tümünü seç
Dim Rky As Object, i As Byte, ayır As Variant
    Set Rky = CreateObject("internetexplorer.application")
    With Rky
     
       
.Navigate "xxxxxxxkullanıcı tarafından gizlendi:)xxxxx"
           
        Do While .busy: DoEvents: Loop
        Do While Not .READYSTATE = 4: DoEvents: Loop
        Application.Wait (Now + TimeValue("0:00:02"))
       

Set htmlDoc = CreateObject("HTMLFile")
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''' Sizin rky değişkenini sonraki satırlara bağlayamak gerek
htmlDoc = rky.document
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set a = htmlDoc.getElementsByTagName("table")
For Each aa In a
If aa.classname = "vis" Then
    For Each b In aa.getElementsByTagName("tr")
        veri = b.Children(3).innerText
    Next
End If
Next

        .Quit
        End With
yasinkurt06@ gmail.com
Ankara 0506 669 1079
Yasin KURT
Forum Moderatörü
 
Adı Soyadı:Yasin KURT
Kayıt: 08 Arl 2008 00:18
Konum: ANKARA
Yaş: 38
İleti: 3276
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara



Cevap: getelementbyid bilinen item no bulma

İleti#9)  snf124 » 30 Haz 2020 15:46

Teşekkürler Yasin KURT Bey.
Kullanıcı avatarı
snf124
Siteye Alışmış
 
Adı Soyadı:selim vardar
Kayıt: 19 Ağu 2012 08:16
Konum: diğer
Meslek: diğer
Yaş: 40
İleti: 202
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: çanakkale

Cevap: getelementbyid bilinen item no bulma

İleti#10)  snf124 » 01 Tem 2020 14:32

Kod: Tümünü seç
Dim tbl As HTMLTable
Dim trCounter As Integer
Dim tdCounter As Integer
trCounter = 1
tdCounter = 1
For Each tbl In Rky.Document.getElementById("train_form").getElementsByTagName("table")
    For Each tr In tbl.getElementsByTagName("tr")
        For Each td In tr.getElementsByTagName("td")
           Cells(trCounter, tdCounter).Value = td.innerText
           tdCounter = tdCounter + 1
        Next td
        tdCounter = 1
        trCounter = trCounter + 1
    Next tr
Next tbl



Sorunu yukardaki kodlarla tabloyu komple excele indirerek istediğim bölü o şekilde alarak çözdüm. İşine yarayan çıkarsa diye kodları burada paylaşıyorum. Teşekkürler.
Kullanıcı avatarı
snf124
Siteye Alışmış
 
Adı Soyadı:selim vardar
Kayıt: 19 Ağu 2012 08:16
Konum: diğer
Meslek: diğer
Yaş: 40
İleti: 202
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: çanakkale


Forum Excel ile Web Sayfaları Veri İşlemleri

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 2 misafir

Bumerang - Yazarkafe