【问题标题】:Ruby : Mechanize cannot find any content from the site what i want to checkRuby:Mechanize 无法从网站上找到我要检查的任何内容
【发布时间】:2017-06-14 08:47:17
【问题描述】:

我想对特定网站使用自动登录

所以我决定使用“机械化”

例如,像 google.com,它可以工作!

require 'rubygems'
require 'mechanize'

a = Mechanize.new { |agent|
    agent.user_agent_alias ="Windows Chrome"
}

page = a.get('http://www.google.com/')

puts page.search("div")

但是当设置 url 为 http://lms.kyonggi.ac.kr/

我找不到任何内容

我尝试了几个功能,例如

  • page.links
  • page.search(:id=>"wrap_login")
  • page.search(".loginfrom")....

但我无法捕捉到此站点中的任何内容

如何从网站http://lms.kyonggi.ac.kr/获取登录内容

【问题讨论】:

    标签: ruby-on-rails ruby mechanize


    【解决方案1】:

    那个页面有两个iframes所以你需要先点击iframe,然后才能找到元素。

    require 'rubygems'
    require 'mechanize'
    
    a = Mechanize.new
    page = a.get('http://lms.kyonggi.ac.kr/')
    p = page.frames[1].click
    puts p.search("div")
    

    【讨论】:

    • 哦!非常感谢!有用! :) 有没有关于该规则的文档?
    • @Dongkun Lee 请参阅此文档。我想这会对你有所帮助rubydoc.info/gems/mechanize/Mechanize
    • 尽管您的 cmets 很有帮助,但我认为它不起作用。上面网站的登录表单,太荒谬了。提交这样的代码 韩语意思是“登录按钮”我听说机械化不可能通过js函数输入值有没有其他方法可以自动登录
    • 你不能,mechanize 不运行 javascript。使用硒或幻影
    • 我认为这会对您有所帮助。 gist.github.com/huangzhichong/3284966
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多