PHP Selenium Webdriver (Facebook wrapper)で特定のelementまでscrollする

よくない処理

$this->driver->executeScript("window.scrollTo(400, 1000);");
$element = $this->driver->findElement(WebDriverBy::className('button'));
$element->click();

 上のコードのように、いつも一定量スクロールしてクリックするような処理を記述しているとエレメントのレイアウトを変更した時などに対応できません。  特にデスクトップ環境とモバイル環境両方で自動テストを実行したい時などはエレメントのレイアウトが大きく変わってしまうので注意が必要です。

改善後

 こういう状況では特定の要素までスクロールする処理にしましょう。

use Facebook\Webdriver\WebDriverPoint; //クラス追加


/*     処理部分     */
$element = $this->driver->findElement(WebDriverBy::className('button'));
$element->getLocationOnScreenOnceScrolledIntoView(); // ボタンが表示されるまでスクロール
$element->click();

AWSを利用した導入事例のご紹介

実際に構築を行ったAWSの事例を紹介しています。導入の目的に近い事例をご覧いただくと、実際の構成例やメリット、注意点などが把握できます。

ブックオフコーポレーション株式会社様
第一生命保険株式会社様
株式会社電通様
株式会社LIFULL様
株式会社リブセンス様
TBSアナウンス部様
明治大学様
拓殖大学様