2011-04-21 14 views
6

Capibara kullanarak bazı salatalık özellikleri çalıştırıyorum ve belirli bir resmin gösterilip gösterilmediğini kontrol etmem gerekiyor. xpath kullanarak dosya adına bir resim etiketi nasıl bulunur

Bu xpath maçı çalıştı ama görünüşe göre işlev matches kullanılamaz: Herhangi matches fonksiyonunu gerekmez

//img[matches(@src, "my_image.png")] 
+0

o gösteriliyorsa Aldığınız sayfa ya da doğru bir şekilde aldıysanız ve kontrol etmeniz gerekiyor mu? – EnexoOnoma

+0

Buna tam olarak iki kopya demiyorum, fakat cevap çok tanıdık. Ayrıca bakınız: http://stackoverflow.com/questions/402211/how-to-use-xpath-function-in-a-xpathexpression-instance-programatically –

cevap

17

.

//img['my_image.png'=substring(@src, string-length(@src) - 11)] 

Bu ikinci ifade bir ends-with fonksiyonunu taklit: yol eşleşmesini istediğiniz bölümün önce metni içerebilir eğer

//img[@src='my_image.png'] 

Veya: kullanın. Eğer alt dize uzunluğunu sabit kodlama beğenmezseniz

sonra kullanın: Bütünlüğü için

//img['my_image.png'=substring(@src, 
      string-length(@src) - string-length('my_image.png') + 1)] 

: Bazı durumlarda, aşağıdaki kabul edilebilir:

//img[contains(@src, 'my_image.png')] 
+0

Teşekkürler, Tam eşleşme olmadığından beri kullandım . – Macario

+0

Teşekkürler. Capybara desteklerinin xpath işlevlerinin bir listesi için her yere baktım. Başım ağrımın neden işe yaramadığını anlamaya çalışırken kafamı beceriyordum. Desteklenen işlevlerin bir listesi var mı? –

İlgili konular