我使用Mechanize登录了一个网页/ servlet。
我有一个页面对象
jobShortListPg = agent.get(addressOfPage)
当我使用以下
时puts jobShortListPg
我得到了我不想要的页面的“机械化”版本。
#<Mechanize::Page::Link "Home" "blahICScriptProgramName=WEBLIB_MENU.ISCRIPT3.FieldFormula.IScript_DrillDown&target=main0&Level=0&RL=&navc=3171">
如何获取页面的html源代码?
答案 0 :(得分:34)
使用.body
puts jobShortListPg.body
答案 1 :(得分:1)
使用页面对象的content方法。
jobShortListPg.content
答案 2 :(得分:0)
在Nokogiri中,在主文档节点上使用to_s
或to_html
:
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<html>
<head></head>
<body>foo</body>
</html>
EOT
doc.to_html
# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n" +
# "<html>\n" +
# " <head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head>\n" +
# " <body>foo</body>\n" +
# "</html>\n"
或:
doc.to_s
# => "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n" +
# "<html>\n" +
# " <head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head>\n" +
# " <body>foo</body>\n" +
# "</html>\n"
如果分散您的注意力以查看嵌入的换行符,则可能会有所帮助:
puts doc.to_s
# >> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
# >> <html>
# >> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
# >> <body>foo</body>
# >> </html>