使用Mechanize在ruby中找到一个表单

时间:2017-05-23 18:53:55

标签: ruby web-scraping mechanize

require 'rubygems'
require 'nokogiri'
require 'mechanize'

agent = Mechanize.new

page = agent.get('https://www.instagram.com/accounts/login/')
forms = page.forms.first
pp form

我正在尝试找到登录Instagram网站的表单。即使它应该是页面上唯一的一个,我似乎无法找到机制来定位表单。当我打印页面时,我得到了空白输出。

1 个答案:

答案 0 :(得分:1)

此页面使用Javascript呈现表单,机械化不会运行。如果你想看看没有Javascript的页面是什么样的,你可以用lynx浏览器打开它。

可以使用硒代替。在安装了诸如chrome之类的驱动程序之后(参见here),API非常相似:

driver = Selenium::WebDriver.for :chrome
driver.navigate.to "https://www.instagram.com/accounts/login/"
first_form = driver.find_elements(css: "form")[0]