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

标签 xpath cucumber capybara

我正在使用 capybara 运行一些 cucumber 功能,我需要检查是否正在显示某个图像。

我尝试了这个 xpath 匹配,但显然是函数 matches不可用:

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

最佳答案

您不需要任何 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')]

关于xpath - 如何使用xpath按文件名查找图像标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5738972/

相关文章:

ruby - 配置 RSpec 以将 Capybara.javascript_driver 用于所有请求规范

java - 在 Cucumber Rails 应用程序中安装 Java 应用程序

ruby-on-rails - 运行Rspec功能规范时如何抑制来自请求的噪音?

ruby-on-rails - Poltergeist Stripe checkout.js

xml - 如何用XPath获取某个条件对应的TOP N元素

maven - 在 Java 堆空间异常上运行 Cucumber 测试后 Jenkins 构建失败

ruby - 可以在step_definitions和PageObject方法中共享@variable吗?

selenium - 如何获得具有相同值的以下img类的xpath?

PHP、XML 和 XPath : Display specific nodes

html - 在 HTML 中访问 <li> 元素