XPath Test Aracı
XML veya HTML belgesi
En fazla 1.000.000 karakterlik XML veya HTML yapıştırın. Değerlendirme bu tarayıcıda XPath 1.0 ile yapılır.
Mutlak veya göreli XPath 1.0 ifadesi. Belgede bildirilen önekler otomatik olarak kaydedilir; varsayılan ad alanı d öneki altında kullanılabilir.
Canlı bir deneme ortamınız yoksa scraping veya XSLT için XPath yazmak deneme yanılmaya dönüşür. Bu test aracı bir panele XML veya HTML’inizi, diğerine ifadenizi alır, XPath 1.0’ı tarayıcınızın kendi motoruyla değerlendirir ve eşleşen her düğümü türü, öznitelikleri, metin içeriği ve serileştirilmiş işaretlemesiyle listeler. count(//book) gibi skaler ifadeler değerini doğrudan döndürür; belgede bildirilen ad alanı önekleri sizin için otomatik kaydedilir. Her şey tarayıcınızda çalışır: belge hiçbir zaman yüklenmez.
Bir XPath ifadesi nasıl test edilir
-
1
XML veya HTML yapıştırın
Otomatik algılama, bir HTML doctype'ı veya HTML kök öğesi gördüğünde esnek HTML ayrıştırmaya geçer; XML veya HTML modunu kendiniz de zorlayabilirsiniz.
-
2
XPath'inizi girin
Mutlak (`/library/book`) veya göreli (`//div[@class='card']`), herhangi bir XPath 1.0 ifadesi.
-
3
Değerlendirin
Sorguyu tarayıcınızın XPath motoru yerel olarak çalıştırır; hiçbir şey bir sunucuya gönderilmez.
-
4
Sonuçları inceleyin
Her eşleşme düğüm türünü, öznitelikleri, kırpılmış metni ve serileştirilmiş işaretlemeyi gösterir; en fazla 200 eşleşme listelenir.
XPath 1.0’ın temelleri
| İfade | Neyi eşleştirir |
|---|---|
/books/book |
Kök <books> öğesinin <book> çocukları |
//book |
Belgenin herhangi bir yerindeki her <book> |
//book[@id='42'] |
id özniteliği 42 olan <book> öğeleri |
//book[1] |
Her üst öğedeki ilk <book> (belgedeki değil) |
(//book)[1] |
Tüm belgedeki ilk <book> |
//book[title='1984'] |
<title> metni “1984” olan <book> öğeleri |
//book/@id |
Tüm <book> öğelerinin id öznitelikleri |
//book[position() > 1] |
İlki dışındaki tüm <book> öğeleri |
//book[last()] |
Her üst öğedeki son <book> |
Skaler ifadeler de çalışır: count(//book) bir sayı, string(//title) bir dize, boolean(//book[@id]) doğru veya yanlış döndürür. Test aracı bu değerleri düğüm listesi yerine doğrudan gösterir.
child dışındaki yaygın eksenler
ancestor::, tüm atalarfollowing-sibling::, geçerli düğümden sonraki kardeşlerpreceding-sibling::, öncekilerdescendant::, tüm alt düğümlerattribute::(kısaltması@), geçerli düğümün öznitelikleriparent::(kısaltması..), üst öğe
HTML’nin tuhaflıkları
HTML katı XML değildir; bu yüzden test aracı onu katı XML ayrıştırıcısı yerine tarayıcınızın HTML ayrıştırıcısıyla esnek biçimde ayrıştırır. HTML modu <!DOCTYPE html> veya <html> kök öğesinden otomatik algılanır; belge modu seçicisiyle iki moddan birini zorlayabilirsiniz. HTML modunda etiket ve öznitelik adları küçük harfe çevrilir, bu yüzden XPath’inizi küçük harfle yazın: //DIV[@CLASS] değil, //div[@class].
Ad alanları
Ad alanı içeren XML, öneklerin kaydedilmesini gerektirir:
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/">
<item>
<content:encoded>...</content:encoded>
</item>
</rss>
Test aracı belgeyi xmlns bildirimleri için tarar ve her öneki otomatik kaydeder; böylece //content:encoded doğrudan çalışır. Varsayılan ad alanının (yalın xmlns="...") belgede öneki yoktur; bu yüzden test aracı onu d önekine bağlar: varsayılan ad alanı kullanan bir akıştaki <item> öğelerini //d:item ile seçin. Kayıtlı ad alanları sonuçların yanında listelenir.
Bu test aracının değerlendirmediği şeyler
Tarayıcılar, çoğu scraping aracının kullandığı lehçe olan XPath 1.0’ı değerlendirir. XPath 2.0 ve sonrasına ait matches(string, regex), tokenize(string, delimiter), for ... return ifadeleri ve dizi operatörleri gibi özellikler bunun parçası değildir; onları XSLT 2.0/3.0 araç zincirlerinde bulursunuz. Web scraping için en taşınabilir seçenek hâlâ XPath 1.0’dır.
Test ipuçları
- Geniş başlayın, daraltın. Önce
//div, sonra//div[@class], en sonunda sınıfın tam değeri. - Ad alanı bildirimlerini kontrol edin. “XPath’im neden hiçbir şey döndürmüyor?” hatalarının çoğu ad alanlarından kaynaklanır; kayıtlı ad alanları listesine bakın.
- Büyük/küçük harfe dikkat edin. XML büyük/küçük harfe duyarlıdır. HTML modu adları küçük harfe çevirir.
- Metin çıkarırken string() deneyin. İç içe işaretleme olduğunda
//p/text()ilestring(//p)farklı sonuç verir.
Sık Sorulan Sorular
Hayır, yalnızca XPath. Çoğu tarayıcı ikisini de destekler: document.querySelectorAll (CSS) ve document.evaluate (XPath). Görev için hangisi daha netse onu kullanın.
HTML ayrıştırması etiket ve öznitelik adlarını küçük harfe çevirir. XPath’inizin küçük harf kullandığından emin olun: //DIV[@CLASS] değil, //div[@class]. Modu da kontrol edin: özensiz HTML üzerinde XML’i zorlamak ayrıştırma hatasıyla sonuçlanır; HTML modu ise onu esnek biçimde ayrıştırır.
Belgede bildirilen önekler ifadeniz için otomatik kaydedilir. Varsayılan ad alanı d önekine bağlanır; böylece //d:item, varsayılan ad alanlı bir belgedeki <item> öğelerini seçer. Etkin bağlamalar sonuçlarla birlikte listelenir.
Hayır. Belge ve ifade, tarayıcınızın kendi XPath motoru tarafından değerlendirilir; sunucumuza gönderilmez, saklanmaz ve sayfa adresine eklenmez. Yalnızca bu tarayıcı oturumunda tutulurlar; böylece çok adımlı görünüm sonuçlarınızı gösterebilir.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Renk Paleti Jeneratörü
Temel bir HEX renginden monokromatik, analog, tamamlayıcı, triadik veya tetradik paletler oluşturun ve kopyalamaya hazır CSS değişkenleri alın.
İkiliden Sekizliye Dönüştürücü
Bitleri üçer üçer gruplayarak ikiliyi sekizliye dönüştürün. Unix izinleri, eski sistemler ve kompakt sayısal gösterim için yararlıdır.
HEX Renk Seçici
HEX rengi seçin veya girin; RGB, HSL, yaklaşık CMYK, bağıl parlaklık ve beyaz-siyah kontrast oranlarını görün.
Gradyan Duvar Kağıdı Oluşturucu
Dizüstü bilgisayar, telefon veya Zoom arka planları için bulanık üç renkli gradyan duvar kağıtları oluşturun. Açıyı ve bulanıklığı rastgele belirleyin ya da elle ayarlayın.
JSON Biçimlendirici
JSON metnini 2 veya 4 boşlukla okunabilir hale getirmek, kompakt çıktıya küçültmek ya da sonucu kopyalamadan önce söz dizimini hızlıca kontrol etmek için yapıştırın.