はじめに
- PHPで、
selenium
を使用したい人 - 自動化処理に興味がある方
seleniumとは
Selenium は、 Webアプリケーションをテストするためのポータブルフレームワークである。 Selenium は、テストスクリプト言語(Selenium IDE)を学ぶ必要なしに、機能テストを作成するための再生ツールを提供する。
ChromeDriverをインストール
ChromeDriver
は、Chromeを動かすために必要なドライバーになります。
こちらからダウンロード
macの場合はHomeBrewでインストール可能
コマンド: brew install chromedriver
selenium-server-standaloneをインストール
Windowsはこちらからダウンロード
macの場合はHomeBrewでインストール可能
コマンド: brew install selenium-server-standalone
Composerのインストール
Composer
は、PHPのライブラリ管理ツールです。
※今回は、php-webdriver
を使用し管理するために使用します。
こちらからダウンロード
macの場合はHomeBrewでインストール可能
コマンド: brew install composer
php-webdriverのインストール
PHPで、selenium
を扱うには、php-webdriver
といったライブリをインストールする必要があります。以下のコマンドを実行してください。
curl -sS https://getcomposer.org/installer | php
php composer.phar require facebook/webdriver
※または、以下の仕様でも可能です。
-
composer.json
を作成 -
composer.json
にライブラリ情報を記述 -
composer install
コマンドの実行
touch composer.json
{
"require":{
"php-webdriver/webdriver":" 1.8.0"
}
}
composer install
全体像
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Facebook\WebDriver\Chrome\ChromeOptions;
use Facebook\WebDriver\Chrome\ChromeDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\WebDriverExpectedCondition;
use Facebook\WebDriver\WebDriverBy;
$driverPath = realpath('/usr/local/bin/chromedriver');
putenv('webdriver.chrome.driver=' . $driverPath);
$driver = ChromeDriver::start();
// Googleへ遷移
$driver->get('https://www.google.co.jp/');
// 5秒待機
$driver->wait(5);
// スクリーンショット
$file = './sample.png';
$driver->takeScreenshot($file);
// ブラウザを閉じる
$driver->quit();
ChromeDriverのパス設定
$driverPath = realpath('ChromeDriverのパス');
putenv('webdriver.chrome.driver=' . $driverPath);
※パスを/usr/local/bin/chromedrive
とする場合は、権限付与が必要です。
mv ~/Downloads/chromedriver /usr/local/bin/ chmod +x /usr/local/bin/chromedriver
ChromeDriverの起動
$driver = ChromeDriver::start(オプション);
ページ遷移
$driver->get('URL');
待機
$driver->wait(秒数)->until(
// 待機条件
);
スクリーンショット
$driver->takeScreenshot('保存先のパス');
ブラウザを閉じる
$driver->quit();
まとめ
PHPでseleniumを使用する場合は、以下の手順で進めてください。
1. ChromeDriver
をインストール
2. Composer
のインストール
3. php-webdriver
のインストール