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