PHP で Selenium を動かすためにやったこと

Selenium 童貞捨てたのは Python だったけど使い慣れてる PHP でも Selenium を使いたかったので備忘録
以前やった内容を後日まとめてるのでもしかしたら手順に抜けがあるかも。。。

前提

  • composer はDL済み

手順

1. ChromeDriver のダウンロード

自分の使ってる GoogleChrome と同じversionの ChromeDriver をDLして解凍する chromedriver.chromium.org

2. chromedriver のパスを通す

自分の場合は /usr/local/bin に移動

mv ~/Downloads/chromedriver /usr/local/bin

※未検証だけど確か WebDriver で chromedriver のパスを指定できるようになってるはず

3. selenium-server-standalone のダウンロード

下記から適当に安定版をDL
www.selenium.dev 自分の場合はDL時にChromeのセキュリティ関係(?)でブロックされたのでシークレットモードで開いてDLした

4. selenium-server-standalone をホームディレクトリに移動

起動しやすい場所であればどこでもOK

mv ~/Downloads/selenium-server-standalone-xxxx.jar ~/

5. composer で php-webdriver/webdriver のインストール

$ composer require --dev php-webdriver/webdriver

6. 適当なプログラムの作成

example.php というファイル名で作成

<?php

use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\WebDriverBy;

require_once './vendor/autoload.php';

(function () {
    $host = 'http://localhost:4444/wd/hub';
    $driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());
    $driver->get('https://www.google.com/');
    $driver->findElement(WebDriverBy::cssSelector('input[name="q"]'))
        ->sendKeys('不死川実弥 過去 何巻')->submit();
})();

不死川実弥の過去が何巻だったかをググるだけのプログラム

7. selenium-server-standalone の起動

java -jar ~/selenium-server-standalone-3.4.0.jar &

8. プログラムの実行

php example.php

Macの場合、セキュリティ関係で初回は↓のようなポップアップが出てくるので、

システム設定>セキュリティとプライバシー>一般タブで開くことを許可する必要がある

9. プログラムが動くことの確認


これで PHP でも自動操作し放題だぜ!!!! (対象サイトの利用規約を必ず読みましょう)
WebDriver の操作方法もいつかブログにまとめたい。いつか。。。!

参考

github.com blog.shimabox.net qiita.com


株式会社エイルシステムではWebエンジニア・モバイルアプリエンジニアを募集しています。
実務経験がなくてもOKです。ご興味のある方は弊社HPよりご連絡ください。


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

【新品】鬼滅の刃 13 遷移変転 吾峠呼世晴/著
価格:484円(税込、送料別) (2021/9/26時点)


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

鬼滅の刃コミックセット1-19巻 新品送料無料 ポイントでお得
価格:10900円(税込、送料無料) (2021/9/26時点)