【问题标题】:Get a link's "href" using mechanize使用 mechanize 获取链接的“href”
【发布时间】:2015-03-06 22:40:09
【问题描述】:

我想获取具有特定类名的链接的 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)

【问题讨论】:

  • 试图从尚不存在的东西中获取链接似乎很奇怪。解析前不应该get吗?
  • 我复制粘贴错了,mylinks 行在页面之后

标签: ruby mechanize


【解决方案1】:

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

【讨论】:

  • 你是什么意思?所以 mechanize 无法返回具有特定 dom_class 名称的链接?
  • 访问 facebook.com 并查看源代码(不是“检查”,只是查看原始页面源代码)。
  • 如果你需要执行 JavaScript,你需要类似PhantomJS
  • 再一次。 www.facebook.com 中的正文内容为空。不。内容。在。全部。都是 JS 在运行时生成所有页面。要获得与你想找到的那个类的链接,你需要执行 JS,它会用这个链接生成一些 DOM。 mechanize 不执行任何 JS。清楚了吗?
  • 如果您不愿意使用其他工具进行一些简单的诊断,我无法帮助您。在应用任何脚本之前查看页面的原始源代码。你不会找到你所期望的。除了所有这些,为什么不直接使用 Facebook API?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2014-11-03
  • 2021-11-17
相关资源
最近更新 更多