前篇でpolymerのplaygroundがまともに
レンダリングされない事が分かった。
何が問題なのかさっぱりだ。
公式サイトのFAQを覗いてみると
Q: Which WebKit version is used by PhantomJS?
A: If you want to know HTML5/CSS3/other features supported by PhantomJS, using WebKit version is not a good idea. See Supported Web Standards documentation page for details.
If you really like to get the WebKit version, find it via the user agent, run the examples/useragent.js. The actual version depends on the libraries with which PhantomJS was compiled.
となっている。
とりあえずexamples/useragent.jsを実行してみる。
PhantomJSがビルドされた際の情報を表示出来るらしい。
cmd>phantomjs.exe .\examples\useragent.js
ふむふむ。
悲しい事に、
見たところでこの情報が何の役に立つのか
いまいちピンとこない。
なぜなら、
俺はWebKitのバージョンがどうこうを知らない。
まぁ、FAQに記載がある時点で、
WebKitのバージョンに関して
色々と難ありなのだろう。
素直にsupported web standardsを開いてみる。
色々と対応しているらしいが、
それでも難しいと言う事は分かった。
割り切って方向転換しよう。
要はChromium系でheadlessなものがあればよいのだ。
Chromiumと言えばChrome様。
ChromeDriverと出会うのは必然だ。
ココからダウンロードしてインストール。
jsでやりたいので、
nodejsインストール
selenimum-webbrowserを突っ込む。
chromedriverは別途落としてパスを切る。
後はサンプルを動かすだけ。
webdrivertest.js
var webdriver = require('selenium-webdriver');
var keyword = "chris le twitter";
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get('http://miyataroid999.sakura.ne.jp');
早速実行
cmd>node webdrivertest.js
おぉ、
ふふ、no-headless...
うーん、
headlessだからこそのphantomなのであって、
がっつり画面があるのはなぁ・・・。
phantomの中身を追うのはぼちぼちやるとして、
「phantomを触る」と言う目的は
達成したと思いたい。
対polymerの代替え案も出したし、
これで良しと言う事にする。
phantomは触った。
これだけは言えるはず。
---- 追記 -----
phantomjsの中身を理解する為の一歩
百聞は一見にしかずだ。
とりあえず中見てみよう。
cmd>git clone http://github.com/ariya/phantomjs
cmd>cd phantomjs
cmd>build
Error: "qmake.exe is missing Can't proceed."
ここまできて
qmakeが必要な事が分かった。
ココからダウンロードしてインストール。
インストールするパッケージのバージョンは5.3
インストール先はc:\Qt
qmake.exeの所在は
c:\Qt\5.3\msvc2010_opengl\bin\
だ。
pathに追加してリトライ。
cmd>build
で、でかい・・・。
まぁ、レンダリングだ何だ
高機能だもんなぁ・・・。
時間と能力的に足りなさげだ。