|
Basit Tablo |
Yandaki tabloda "fourth cell" yazan satırı test kodumuzda XPath kullanarak bulmaya çalışacağız. Herhangi belirgin bir attribute u olmayan basit tablolarda kendimiz xpath değerini aşağıdaki gibi yazabiliriz.
//table/tbody/tr[2]/td[2]
Tablo, her zaman "parent"olan
table değeri ile başlar ve xpath kodunun başına da her zaman // konur. Daha sonra "table" dan sonra onun alt elemanı(child) olan "
tbody" tek slash ile "/" sağına yazılır. "Fourth cell" tabloda tbody parent ının 2. tr ve 2. td sinde olduğu için tr[2] ve td[2] yazmamız gerekir. Eğer 2 sayısını belirtmezseniz; hem tr tag inin hem de td tag inin ilk elementini getirir yani sonuçta "first cell" i elde etmiş olursunuz.
*****************************************************
|
İç içe Tablo |
Bu tabloda görüldüğü gibi iç içe 2 tablo eklenmiş. Burada da "4-5-6" değerini bulmak istersek aşağıdaki kodu kullanmalıyız. Yani ilk tablonun 2. satır ve sütununa yerleştirilen 2. tablonun ilk satırının 2. sütunundaki değeri getirmesini bekliyoruz.
//table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]
xpath kodunu kullanmamız gerekir.
//table ilk tablo parent ını gösterir. Sağındakiler onun altında olduğu için / ile devam eder.
/tbody table ın bir alt elementi
/tr[2] , aradığımız element 2. tr de olduğu için böyle yazılır.
/td[2] , aradığımız element 2. td de olduğu için böyle yazılır.
/table , ilk tablonun içindeki tabloyu belirtiyor.
/tbody , içerdeki tablonun alt elementi
/tr , ilk tr yi gösterir
/td[2] , 2. td yi belirtir.
******************************************************
|
Derin Tablo
Burada tablo çok derinde olduğu için aranılan elementin tablosunun belirgin bir değerini kullanacağız o da "table width".
//table[@width=\"270\"]/tbody/tr[4]/td
Burada "width"i 270 olan tablonun 4. satırındaki değeri getirmesini istiyoruz.
***********************************************
Eğer aradığınız elementin yazılmayacak kadar çok parent vs si varsa F12 ye basıp "Copy XPath" i tıklayın. Kopyalanan kodu bir yere yapıştırın ve üzerinde aşağıdaki örnekteki gibi düzenlemeler yapın.
table kısmına kadar olan kısmı baştan silin. table 'ın önüne // ekleyin ve XPath kodunu kullanın.
xpath("//table/tbody/tr/td[2]/table/tbody/tr[4]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td[1]/table[2]/tbody/tr[3]/td[2]/font")
|
Yorumlar
Yorum Gönder