ai didi

ruby - 在测试 HTML 属性是否包含预期 URL 时如何忽略主机名?

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:14 24 4
gpt4 key购买 nike

我正在编写一个测试来检查元标记是否存在以及内容是否匹配。看下面的例子:

def have_meta(name, expected)
page.find "meta[property='#{name}'][content='#{expected}']", :visible => false
end

我调用函数如下:

have_meta("og:title", "this is the title")
have_meta("og:url", "http://www.lorem.com/ipsum")

问题是我的 url 内容会根据我工作的环境而变化。例如它可以是:

http://www.lorem.com/ipsum

http://www.sdfsd.com/ipsum 

我想对 Meta 的“内容”部分进行正则表达式匹配。忽略主 url 但检查“ipsum”部分。你知道我该怎么做吗?

最佳答案

我会使用 CSS 的 ends-with 属性选择器:

def have_meta_with_path(name, path)
page.find "meta[property='#{name}'][content$='#{path}']", :visible => false
end

其中 path 就是例如'/ipsum'。不需要正则表达式。有两种方法是最安全的:您原来的 have_meta,它测试整个值,以及上面的方法,它测试结束。您不会只想测试 og:title 的结尾。

关于ruby - 在测试 HTML 属性是否包含预期 URL 时如何忽略主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454981/

24 4 0
文章推荐: javascript - 列表中的 Rails 4 ExecJS::ProgramError#index
文章推荐: c# - 如何在 mvc3 razor 中将 userid 从一种方法传递到另一种方法
文章推荐: c# - 如何知道给定的字体是否是 OpenType 字体
文章推荐: Ruby Whois 查询超时
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com