読者です 読者をやめる 読者になる 読者になる

元フリーエンジニアライフ

Ruby on Rails とか MovableType とかAWSやってるフリーランスウェブエンジニアの記録でした。現在は法人成りしてIT社長。

Amazon Linux 2015.09 に capybara-webkit gem をインストールしてRubyでブラウジングする

Installing gems

capybara-webkit gem

gem入れるまでがツラい。→ AmazonLinux 2015.09 に Qt5 WebKit をインストール

sudo ln -s /usr/lib64/qt5/bin/qmake /usr/bin/qmake 
sudo gem install capybara-webkit --no-ri --no-rdoc
Building native extensions.  This could take a while...
Successfully installed capybara-webkit-1.8.0
1 gem installed

headless gem

sudo yum install xorg-x11-server-Xvfb
sudo gem install headless --no-ri --no-rdoc
Fetching: headless-2.2.3.gem (100%)
Successfully installed headless-2.2.3
1 gem installed

RubyでHTMLやスクリーンショットを取得

require 'capybara-webkit'
require 'headless'

Capybara::Webkit.configure do |config|
  config.block_unknown_urls
  config.allow_url('*')
end

client = Capybara::Session.new(:webkit)
headless = Headless.new
headless.start
begin
  client.visit('http://www.google.com/')
  p client.status_code # => 200
  p client.html        # => "<!DOCTYPE html><html itemscope=\"\" itemtype=\"http://schema.org/WebPage\" ...
  client.save_screenshot('screenshot.png')
ensure
  headless.destroy
end

f:id:uzuki05:20160325135757p:plain