我从HTTP页面获得此结果,如:
<!DOCTYPE html>
<html>
<head>
<title>Captchaservice</title>
</head>
<body>
15
</body>
</html>
我使用这个Nokogiri代码:
doc = Nokogiri::HTML( response )
id = doc.xpath('//').text
但是我得到了\n 15 \n
等等。
我试着写:
id = doc.xpath('//').text.to_i
我得到了这个值,但是当我使用这个ID时,我得到了:
undefined method `empty?' for 15:Fixnum
我做错了什么以及如何获得此整数值?
答案 0 :(得分:2)
这是因为您的id
是Fixnum
类的实例(由于id
,doc.xpath('//').text.to_i
保留了值15)。并且Fixnum
类没有#empty?
方法。因此,如果要进行空测试,请执行id = doc.xpath('//').text.strip
。现在,您的id
将拥有一个字符串实例,即'15'
。在此,您可以调用#empty?
方法。当你需要使用整数值时,只需要id.to_i
并使用它。