キャプチャを取得するrailsタスクを作成しました。
ブラウザでサイトを表示した時の見た目と
キャプチャで取得した画像の見た目が変わるサイトがあり困っています。
何か原因などご教授いただけると幸いです。
実装したコードは下記です。
Yahooのトップページ等のキャプチャは問題なく取得できるのですが、
試しに色々取得してみたところ、
Bingのトップページ等ではアイコンの位置が左上にずれたりします。
コードは下記になります。
require 'bundler/setup' require 'capybara/poltergeist' Bundler.require class Tasks::TaskCapture def self.execute Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new(app, {:js_errors => false, :timeout => 1000 }) end session = Capybara::Session.new(:poltergeist) session.visit "https://www.bing.com/?scope=web&mkt=ja-JP&FORM=PRJPJA" sleep(10) session.save_screenshot "/tmp/test.png" end end
よろしくお願いいたします。
ブラウザのウィンドウサイズに応じたデザインの変化が適用されている状態、ということでしょうか? * [teampoltergeist/poltergeist: A PhantomJS driver for Capybara](https://github.com/teampoltergeist/poltergeist#customization) を参照する限り、ウィンドウサイズを指定できるようなので、Capybara との連携時の指定方法を調べてみると見つかるかもしれません
goufさん、ご返信ありがとうございます!!ご指摘いただきました、サイズの指定を行ってみたのですが、状況に変化はありませんでした。その後、自身でも色々ためしてみたのですが、主にバックグラウンドの動画やiframe等のレンダリングが行われていないケースが多くて、PhantomJSの機能が古いのかと思い、PhantomJSのバージョンを最新にアップデートした結果、問題なく表示されたキャプチャが取得できました。当初利用していたPhantomJSのバージョンは1.9.8だったのですが、2.1.系に変えた結果収束しました。ブラウザのエミュレートなのに、最初から最新バージョンを利用しなかった自分のミスです。。。goufさん、ご迷惑をおかけして申し訳ありません。また、ご返信、大変ありがとうございました。
回答1件
あなたの回答
tips
プレビュー