phpwebdriver_select_click


<select name="Customer[area]" id="" class="input-pref">
	<option value="">都道府県名</option>
	<option value="1">北海道</option>
	<option value="2">青森県</option>
	<option value="3">岩手県</option>
	<!-- 他の県は省略 -->
</select>

以前、上記のコードがあった時に

php-webdriverでどのように京都府の値を選択するか?

ということで


$element = $driver->findElement(WebDriverBy::name("Customer[area]"));
$element->click();
$driver->getKeyboard()->sendKeys("京都府");
$element->click();

上記のようなコードで対応したという旨を記載した。

php-webdriverでセレクトボックスの値を選択する


この内容に関して、

登録した値を利用して再び選択するケースが発生した。


登録した値となると、京都府ではなく、京都府に対応したvalueの値になるので、

SOY Shopでは京都府の値は26にしている。


というわけで、


phpwebdriver_select_click


26という値でセレクトボックスを選択してみる。


実際のコードはこちら


$driver->findElement(WebDriverBy::name("Customer[area]"));
	->findElement(WebDriverBy::cssSelector("option[value='26']"))
	->click();

このようにセレクトボックスを取得して、セレクトボックス内のoptionを指定してクリックというようにチェーンメソッドで記載すれば良い。