ピックアップコラム
-
Pickup!
被リンク精査方法と被リンク削除・否認までの流れを解説
-
Pickup!
SEO対策で覚えておくべき用語「YMYL」について解説!
-
Pickup!
検索結果のランキングが落ちたときに確認すべきSEOの要素
-
Pickup!
2019年最新!インスタグラムのSEO対策について
先日、開発しているシステムでプログラムからブラウザで表示したwebサイトのスクリーンショットを撮る機会がありました。
今回はその際に使用した、プログラムからブラウザを操作してスクリーンショットを取る方法、またその際にブラウザの画面を表示しない方法をご紹介させていただきます。
下記のコマンドでバージョンが確認できたらインストール完了です。curl https://dl.google.com/linux/linux_signing_key.pub | apt-key add - echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list apt update apt install google-chrome-stable
また、日本語のサイトを表示するために下記のコマンドで日本語フォントをインストールします。google-chrome-stable --version Google Chrome 78.0.3904.108
apt-get install fonts-ipafont fonts-ipaexfont
/usr/local/bin/chromedriver
composer require facebook/webdriver
use Facebook\WebDriver\Chrome\ChromeOptions; use Facebook\WebDriver\Chrome\ChromeDriver; use Facebook\WebDriver\Remote\DesiredCapabilities; $driverPath = realpath("/usr/local/bin/chromedriver"); putenv("webdriver.chrome.driver=" . $driverPath); // Chromeを起動 $options = new ChromeOptions(); $options->addArguments(['--headless']); $options->addArguments(['--no-sandbox']); $options->addArguments(['--disable-gpu']); $options->addArguments(["--lang=ja"]); $caps = DesiredCapabilities::chrome(); $caps->setCapability(ChromeOptions::CAPABILITY, $options); $driver = ChromeDriver::start($caps); //画面を取得 $driver->get($url); // スクリーンショットを保存 sleep(3); $driver->takeScreenshot($file_path); // ブラウザを閉じる $driver->quit();
use Facebook\WebDriver\Chrome\ChromeOptions; use Facebook\WebDriver\Chrome\ChromeDriver; use Facebook\WebDriver\Remote\DesiredCapabilities; $driverPath = realpath("/usr/local/bin/chromedriver"); putenv("webdriver.chrome.driver=" . $driverPath);Facebook\WebDriver及びchromedriverを使用するための記述です。
// Chromeを起動 $options = new ChromeOptions(); $options->addArguments(['--headless']); $options->addArguments(['--disable-gpu']); $options->addArguments(['--no-sandbox']); $options->addArguments(["--lang=ja"]); $caps = DesiredCapabilities::chrome(); $caps->setCapability(ChromeOptions::CAPABILITY, $options); $driver = ChromeDriver::start($caps);Chromeを起動します。
//画面を取得 $driver->get($url);Urlを指定してwebサイトを開いています。
// スクリーンショットを保存 sleep(3); $driver->takeScreenshot($file_path);
開いたwebサイトのスクリーンショットを指定したファイルパスへ保存します。
JS等で画面描画に時間差がある場合があるのでsleepを行っています。
// ブラウザを閉じる $driver->quit();chromeを閉じます。
受付時間:平日10:00~19:00(土・日・祝日を除く)