Mechanizeを使用してWebページ/サーブレットにログインしています。
ページオブジェクトがあります:
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ソースを取得するにはどうすればよいですか?
使用する .body
:
puts jobShortListPg.body
ページオブジェクトのcontent
メソッドを使用します。
jobShortListPg.content
のこぎりでは 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>