2011-04-21 64 views
6

我正在運行一些使用水豚的黃瓜功能,我需要檢查是否顯示某個圖像。如何使用xpath按文件名查找圖像標記

我想這個XPath的比賽,但顯然功能matches不可用:

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

如果上顯示你得到它的頁面,或者如果你得到它正確,你需要檢查它? – EnexoOnoma 2011-04-21 02:58:44

+0

我不會稱這爲完全重複的,但答案非常熟悉。另請參閱:http://stackoverflow.com/questions/402211/how-to-use-xpath-function-in-a-xpathexpression-instance-programatically – 2011-04-21 03:12:56

回答

17

你不需要任何matches功能。用途:

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

或者,如果路徑可以包括要匹配部分之前的文字:

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

這第二個表達模仿的ends-with功能。

如果你不喜歡硬編碼字符串的長度,然後用:

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

出於完整性:在某些情況下,以下是可以接受的:

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

謝謝,我用過,因爲它不是完全匹配。 – Macario 2011-04-21 03:09:47

+0

謝謝。一直在尋找水豚支持的xpath函數列表。我正在敲頭試圖弄清楚爲什麼我的結局 - 與匹配器不起作用。你有支持的功能列表嗎? – 2011-08-29 21:15:38