我正在尝试搜索需要身份验证的网站,以获取ID为#cellTotal
的网页上的元素。
现在,使用Mechanize我已登录到我想访问的页面,但使用基本的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
如何在此页面上选择元素?
答案 0 :(得分:2)
您可以使用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"