Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么mechanize会在我的页面2.links.each方法链上增加命名错误? 错误_Ruby_Loops_Hyperlink_Mechanize_Nomethoderror - Fatal编程技术网

Ruby 为什么mechanize会在我的页面2.links.each方法链上增加命名错误? 错误

Ruby 为什么mechanize会在我的页面2.links.each方法链上增加命名错误? 错误,ruby,loops,hyperlink,mechanize,nomethoderror,Ruby,Loops,Hyperlink,Mechanize,Nomethoderror,如何修复此问题以使脚本保持运行 使现代化 这是page2.body返回的内容 agent2 = Mechanize.new page2 = agent2.get('http://www.mywebsite.net') page2.links.each do |link2| #line 119 name = link2.href.to_s 从: [T] 主体不是有效的机械化对象。如何跳过它 在尝试调用对象上的方法之前,有很多方法可以验证对象。一种方法是使用缺乏文档记录的

如何修复此问题以使脚本保持运行

使现代化 这是page2.body返回的内容

agent2 = Mechanize.new
page2 = agent2.get('http://www.mywebsite.net')
  page2.links.each do |link2|     #line 119
    name = link2.href.to_s   
从:

[T] 主体不是有效的机械化对象。如何跳过它

在尝试调用对象上的方法之前,有很多方法可以验证对象。一种方法是使用缺乏文档记录的&。在Ruby 2.3.0中引入。例如,使用现有代码:

����JFIF���ICC_PROFILE�lcms0mntrRGB XYZ �*acspAPPL���-lcms
                                                                                   desc8cprt@Nwtpt�chad�,rXYZ�bXYZ�gXYZ�rTRC
                                                                                                                                        gTRC, bTRCL chrml$mluc
                                                                                                                                                                  enUSsRGB built-inmluc
                                                                                                                                                                                          enUS2No copyright, use freelyXYZ ���-sf32
Y�                     J����*��������������XYZ o�8��XYZ $����XYZ b����paraff��
Y�raff��
Y�raff��
[chrm��T{L���&f\��





 $.' ",#(7),01444'9=82<.342��C          


2!!22222222222222222222222222222222222222222222222222��"����������
                                                                                         ?����

如果page2中的对象不响应链接,或者page2.links的结果不响应每个链接,则返回nil。然后,程序流将在page2&.links&.each方法链形成的每个块之后继续。

当我运行代码时,由于您没有发布错误,我得到了main:Object`的NameError:undefined局部变量或method agent2'。我希望在问了66个问题之后,你会知道……确保page2是一个有效的mechanize对象,而不是nil。@CodeGnome:body不是一个有效的mechanize对象。如何跳过它?因为我没有HTML元素可供使用。谢谢这是一种奇怪的方式。也许是在检查page2.0是否为a?机械化::页面更好。
����JFIF���ICC_PROFILE�lcms0mntrRGB XYZ �*acspAPPL���-lcms
                                                                                   desc8cprt@Nwtpt�chad�,rXYZ�bXYZ�gXYZ�rTRC
                                                                                                                                        gTRC, bTRCL chrml$mluc
                                                                                                                                                                  enUSsRGB built-inmluc
                                                                                                                                                                                          enUS2No copyright, use freelyXYZ ���-sf32
Y�                     J����*��������������XYZ o�8��XYZ $����XYZ b����paraff��
Y�raff��
Y�raff��
[chrm��T{L���&f\��





 $.' ",#(7),01444'9=82<.342��C          


2!!22222222222222222222222222222222222222222222222222��"����������
                                                                                         ?����
page2&.links&.each do |link2|