检查<div>文本Ruby </div>

时间:2013-11-08 00:38:02

标签: ruby-on-rails ruby html watir

我正在编写一个使用Ruby和Watir的脚本,需要打印硬币翻转的结果。当你获胜时,HTML看起来像这样:

<div id="result" style="" class="center">
      <div id="win" class="bold center">You win!</div>
      <div id="lose" class="bold center"></div>

当您丢失时,win div中的文字会消失,You lose! div中会显示lose。如您所见,result包含winlose。我认为这些观察中的一个或两个都很重要,但我不知道如何使用if语句来确定是否发生了输赢。

2 个答案:

答案 0 :(得分:2)

您可以查看相应&lt; div&gt;中的text included是否为Expressions。例如:

if browser.div(:id => "win").text.include? "You win!"
  puts "won"
elsif browser.div(:id => "lose").text.include? "You lose!"
  puts "lost"
else
  puts "something went wrong with the coin flip"
end

还有一个更简单的例子:

if browser.div(:id => "win").text.include? "You win!"
  puts "won"
else
  puts "lost"
end

有关条件控制结构的更多信息,请查看Programming Ruby的{{3}}一章中的If和unless表达式部分。

答案 1 :(得分:0)

这应该会给你一个想法:

<% if @result.heads? %>
  <div id="win" class="bold center">You win!</div>
<% else %>
  <div id="lose" class="bold center"></div>
<% end %>

这取决于您的结果模型如下所示:

class Result

  def initialize
    @heads = [true, false].sample
  end

  def heads?
    @heads
  end

  def tails?
    !heads?
  end

end