Help us understand the problem. What is going on with this article?

PhantomJSについて

More than 1 year has passed since last update.

PhantomJSとは

webkitベースのヘッドレスブラウザ。webkitとは主にWebブラウザーで用いられているレンダリングエンジン。PhantomJSはwebkitにbuilt-inされているJavaScriptCore (safariとかもこれを使っている) というjavascriptエンジンを採用している。スクレイピングやスクリーンキャプチャなどにも活用可能。

ヘッドレスブラウザ:ヘッドレス・ブラウザとは、Webコンテンツを画面上に描くグラフィック・ユーザ・インタフェース(GUI)を省略したブラウザ

要はコマンド(プログラム)でブラウザを実行できる環境

プログラムで動きを制御できるので、
「自動化テスト」
「スクレイピング」
などを行なってくれます。

Node.jsを使ったインストール方法

$ brew install nodebrew
$ nodebrew setup//これをしないと次のコマンドでエラー吐く。必要なフォルダ等々を生成してくれるらしい
$ echo export PATH=$HOME/.nodebrew/current/bin:$PATH >> ~/.bash_profile //書き込み
$ source ~/.bash_profile //読み込み
$ nodebrew install-binary latest //最新版のインストール
$ nodebrew list //インストール確認
$ npm -v //バージョン確認
$ nodebrew use v11.1.0 //使用するバージョンを指定することも可能
$ npm install -g phantomjs

Node.jsでなくても

$ brew cask install phantomjs

こちらの方法でも可能

Railsのスクレイピングで私が使っているCapybara/Poltergeist

Capybara = UIテストのためのrubyフレームワーク

オープンソース / MITライセンス
ページの表示、フォームの入力、ボタンのクリック等のUI操作をテストコード上で実行できる

複数のテストフレームワークから利用できる

MiniTest, RSpec, Cucumberなど
複数の ドライバ (テスト環境, ヘッドレスブラウザ)を選択して利用できる

Rack::Test, Selenium, Webkitなど

poltergeist

Capybaraのドライバーの一つです。
他にもselenium, rack-test(デフォルトのドライバー)などがあります。rack-testは高速ですが、JSに対応してなかったり、seleniumはJSに対応してるがヘッドレスではないため処理が遅かったりと、それぞれ一長一短です。

Gemのインストール

$ gem 'capybara'
$ gem 'poltergeist'

bundle installをしましょう。

PhantomJSの今後

PhantomJSの開発は終了し、リポジトリはアーカイブ化されました。本記事は参考程度にご覧ください。
参考

ですので、現在私は他の方法も模索中です。
Puppeteer + Headless Chromeの方法なども気になります。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away