Watir没有在简单的HTML中定位标签

时间:2016-08-10 17:45:54

标签: ruby-on-rails ruby watir-webdriver

我刚开始使用Ruby和Webdriver来处理HTML字符串。我一直在学习曲线,但要么我还是做错了,要么Watir的一致性就是meh。

我正在尝试让Watir找到几个span标签,因为我希望它们之间有文本。我可以 HTML放入我的控制台就好了。我可以看到我想要的标签。出于某种原因,我每次尝试前往他们都会返回nil。enter image description here

2 个答案:

答案 0 :(得分:1)

输出被错误地解释。 puts是调用puts "test" #=> "test" #=> nil 返回的值。它与Watir或与之交互的元素无关。你会看到与其他对象相同的东西:

browser.span(class: 'ShipmentBreadcrumb')

当你要求它对它做一些事情时,Watir只会去找元素。例如,

puts browser.span(class: 'ShipmentBreadcrumb')
#=> #<Watir::Span>
#=> nil
puts browser.span(class: 'ShipmentBreadcrumb').text
#=> "Sporting Goods"
#=> nil

只需创建一个Watir :: Span的实例。它不会在页面上查找元素或尝试检索有关它的任何数据。直到你在实例上调用它去寻找元素时才会这样做。

volatile

答案 1 :(得分:0)

我不认为它正在返回nil。你正在做putsputs的值为nil。您传递给puts的内容的结果位于nil之前的行。尝试删除puts,您应该直接获取对象。