XPath (XML Path Language), XML ve HTML dokümanlarında istenilen öğeleri seçmek için kullanılan güçlü bir sorgulama dilidir. Test otomasyonu, web scraping ve veri madenciliği gibi alanlarda sıkça kullanılır. Bu yazıda, XPath kullanımını çeşitli örneklerle inceleyeceğiz.
XPath Temelleri
XPath, bir XML veya HTML dokümanında belirli öğeleri seçmek için kullanılır. XPath ifadeleri genellikle iki ana kategoride incelenir:
- Mutlak XPath: Dokümanın kökünden itibaren tam yolu belirtir.
- Göreceli XPath: Belirli bir öğeden başlayarak daha esnek sorgular yapmayı sağlar.
Örnek HTML Yapısı:
<html>
<body>
<div id="container">
<h1>XPath Örneği</h1>
<p class="text">Bu bir paragraftır.</p>
<ul>
<li>Elma</li>
<li>Armut</li>
<li>Çilek</li>
</ul>
</div>
</body>
</html>
XPath Seçicileri
Eleman İsmi ile Seçme
//h1
Bu ifade, sayfadaki tüm <h1> etiketlerini seçer.
Belirli Bir ID’ye Göre Seçme
//div[@id='container']
Bu ifade, id değeri container olan <div> öğesini seçer.
Sınıf Adına Göre Seçme
//p[@class='text']
Bu ifade, class değeri text olan <p> öğesini getirir.
İçerik Metnine Göre Seçme
//li[text()='Çilek']
Bu ifade, içinde Çilek metni bulunan <li> öğesini seçer.
XPath Fonksiyonları
contains() ile Kısmi Eşleşme
//p[contains(text(),'paragraf')]
Bu ifade, içinde “paragraf” kelimesi geçen <p> öğelerini getirir.
starts-with() ile Başlangıca Göre Seçme
//li[starts-with(text(), 'El')]
Bu ifade, “El” ile başlayan <li> öğelerini seçer (örneğin “Elma”).
last() ile Son Elemanı Seçme
//li[last()]
Bu ifade, listedeki son <li> öğesini getirir (“Çilek”).
XPath ile Test Otomasyonu
XPath, test otomasyon araçlarında (örneğin, Selenium, Robot Framework) yaygın olarak kullanılır. Örneğin, Selenium’da bir öğeyi seçmek için şu kod kullanılabilir:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://ornek.com")
element = driver.find_element("xpath", "//h1")
print(element.text)
driver.quit()
Bu kod, sayfadaki <h1> öğesini bulur ve metnini ekrana yazdırır.
XPath, web öğelerini seçmek için son derece esnek ve güçlü bir araçtır. Özellikle test otomasyonu ve veri çekme işlemlerinde büyük kolaylık sağlar. Bu yazıda temel XPath ifadelerini ve bazı ileri seviye fonksiyonları inceledik. Daha karmaşık XPath ifadeleri ile web üzerindeki öğeleri çok daha detaylı şekilde seçebilirsiniz.
Umarım bu rehber, XPath kullanımı konusunda size yardımcı olacaktır! Yorumlarınızı ve sorularınızı paylaşabilirsiniz.


Leave a comment