我对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的值是返回整个数组。我将重新计算并手动添加我想要查找到数组中每个元素的值。如果它有效,我会发布它。
谢谢!