はじめに
- 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を使用する場合は、以下の手順で進めてください。
- **
ChromeDriver
**をインストール - **
Composer
**のインストール - **
php-webdriver
**のインストール