如何使用xpath按文件名查找图像标记

Mac*_*rio 11 xpath cucumber capybara

我正在使用水豚运行一些黄瓜功能,我需要检查是否显示某个图像.

我尝试了这个xpath匹配,但显然该功能matches不可用:

//img[matches(@src, "my_image.png")]
Run Code Online (Sandbox Code Playgroud)

Way*_*ett 24

你不需要任何matches功能.使用:

//img[@src='my_image.png']
Run Code Online (Sandbox Code Playgroud)

或者,如果路径可以包含您要匹配的部分之前的文本:

//img['my_image.png'=substring(@src, string-length(@src) - 11)]
Run Code Online (Sandbox Code Playgroud)

第二个表达式模仿一个ends-with函数.

如果您不喜欢对子字符串长度进行硬编码,请使用:

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

为了完整性:在某些情况下,以下是可接受的:

//img[contains(@src, 'my_image.png')]
Run Code Online (Sandbox Code Playgroud)