<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();
上記のようなコードで対応したという旨を記載した。
この内容に関して、
登録した値を利用して再び選択するケースが発生した。
登録した値となると、京都府ではなく、京都府に対応したvalueの値になるので、
SOY Shopでは京都府の値は26にしている。
というわけで、
26という値でセレクトボックスを選択してみる。
実際のコードはこちら
$driver->findElement(WebDriverBy::name("Customer[area]")); ->findElement(WebDriverBy::cssSelector("option[value='26']")) ->click();
このようにセレクトボックスを取得して、セレクトボックス内のoptionを指定してクリックというようにチェーンメソッドで記載すれば良い。