在Selenium Webdriver中使用shift方法有什么用

时间:2014-05-04 16:04:46

标签: ruby arrays selenium

我对Ruby很陌生,所以我可能会搞砸到某个地方,但现在就是。

我在下面的代码中使用Selenium :: Webdriver驱动程序对象= @br。

@hists = @br.find_elements(:xpath => "/html/body/center/form[1]/table/tbody/tr[2]/td/table/tbody")
@hists.shift
@hists.each do |x|
  puts x.text
end

这会抛出NoMethodExcepetion 'text',因为它认为@hists是一个空数组,而不是数组元素对象。现在,如果我删除@hists.shift,则会打印出每个元素文本。

为什么.shift这样做?

此外,我需要稍后在另一个类中对此信息进行更多处理,并且数据在随机播放中丢失。

想法?

编辑****

我尝试使用x而且它没有通过任何例外,但它也没有打印任何内容。

编辑******* 也没有打印任何东西。我觉得@ br.find_elements正在将整个元素数组传递给@hists [0],因为我检查了@ hists.shift的值是返回整个数组。我将重新计算并手动添加我想要查找到数组中每个元素的值。如果它有效,我会发布它。

谢谢!

0 个答案:

没有答案