我想知道如何检查 HTML 文档的头部是否存在带有黄瓜的特定字符串。实际上我对特定的机器人指令感兴趣,所以我在第一步启动浏览器(atm Firefox)并打开一个本地站点。
在第二步中,我检查整个 html 代码中的字符串:
@b.html.include?('<meta name="robots" content="noindex, follow">').should == true
并看到我的场景在第二步失败。(预期为真,结果为假)令人惊讶的是,对部分字符串的检查成功了:
@b.html.include?('name="robots"').should == true
但是一旦我检查
@b.html.include?('<meta name="robots"').should == true
要不就
@b.html.include?('a name="robots"').should == true
我又弄错了。
所以,我认为空格的存在会导致这种行为。快速检查,只有一个额外的空格
@b.html.include?(' name="robots"').should == true
并且测试场景是绿色的。
在文档正文中搜索整个句子
@b.html.include?('<h1>Yarr, that "is" supeb!</h1>').should == true
也是路过。
我还尝试将 h1 标题移动到文档的头部(测试仍然通过)并将元标记移动到正文(测试仍然失败)
我正在使用 cucumber 1.2.0 和 ruby 1.9.3p0 以及通过 watir-webdriver 驱动的 Firefox,并且想知道我是否做错了什么。实际上,我只有一个带有这个简单步骤的功能和一个带有元数据和这个“Yarr”句子的最小 html 站点。没有导轨,没有耙子。OS X 10.7 请告诉我是否应该提供更多信息……我正在修补这些东西几个小时。
Edit1:添加了我检查的站点的 HTML。
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<meta charset="utf-8">
<link rel="stylesheet" media="screen" href="/public/stylesheets/main.css">
<link rel="shortcut icon" type="image/png" href="/public/images/favicon.png">
<script src="/public/javascripts/jquery-1.6.4.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="canonical" href="google.de">
<meta name="robots" content="noindex, follow">
</head>
<body>
<h1>Yarr, that "ist" superb!</h1>
</body>
</html>