Ruby 获取链接';s";href";使用机械化

Ruby 获取链接';s";href";使用机械化,ruby,mechanize,Ruby,Mechanize,我想获取具有特定类名的链接的href值(在本例中,类名包含单词fbxWelcomeBoxBlock) 我试过了 @agent = Mechanize.new page=@agent.get("https://www.facebook.com/") mylinks=page.links_with(:class => 'fbxWelcomeBoxBlock _8o _8s lfloat _ohe') puts mylinks.size # prints zero now... 但它不起作用

我想获取具有特定类名的链接的href值(在本例中,类名包含单词fbxWelcomeBoxBlock)

我试过了

@agent = Mechanize.new
page=@agent.get("https://www.facebook.com/")
mylinks=page.links_with(:class => 'fbxWelcomeBoxBlock _8o _8s lfloat _ohe')
puts mylinks.size  # prints zero now...

但它不起作用。(我现在在ruby中使用mechanize)

这是一个完全动态的页面。Mechanize不执行JS。

尝试从不存在的东西获取链接似乎很奇怪。你不应该在解析前得到吗?我复制粘贴错了,mylinks行在页面后面,你是什么意思?所以mechanize无法返回具有特定dom_类名的链接?请访问facebook.com并查看源代码(不是“检查”,只是查看原始页面源代码)。如果需要执行JavaScript,您将需要类似的东西。再次。www.facebook.com中的正文内容为空。不,内容。在全部的在运行时生成所有页面的都是JS。要获得与您想要找到的类的链接,您需要执行JS,该JS将使用该链接生成一些DOM。mechanize不执行任何JS。清楚吗?如果你不愿意用其他工具做一些简单的诊断,我帮不了你。在应用任何脚本之前,请查看页面的原始源代码。你不会找到你所期望的。除此之外,为什么不直接使用Facebook API呢?