我正在尝试抓取一个需要身份验证才能在id为#cellTotal
的页面上获取元素的网站。
现在,使用机械化我已经登录到我想访问的页面,但使用基本的Nokogiri功能,如:
@selector = page.css("#cellTotal").text
给我这个错误:
undefined method `css' for #<Mechanize::Page:0x61234f8>
以下是我目前所拥有的:
agent = Mechanize.new
agent.get("example.com")
agent.page.forms[0]["username_field"] = "username"
agent.page.forms[0]["password_field"] = "password"
agent.page.forms[0].submit
@selector = agent.page.css("#cellTotal").text
如何在此页面上选择元素?
您可以使用page.parser
来访问底层Nokogiri
对象。
http://mechanize.rubyforge.org/Mechanize/Page.html#method-i-parser
require 'mechanize'
agent = Mechanize.new
agent.get("http://stackoverflow.com/questions/23064821/using-the-mechanize-gem-with-the-nokogirl-gem/")
agent.page.parser.class
# => Nokogiri::HTML::Document
agent.page.parser.css("#answer-23065003 .user-details a").text
# => "akatakritos"