新しいバージョンの Selenium と必要な geckodriver を使用するようにいくつかの機能テスト コードをアップグレードしたところ、以前は HTML 選択コントロールでオプションを選択していたコードが機能しなくなりました。簡単なページで問題を再現できます。
関連するコードは次のとおりです。
1. my_select = Select(driver.find_element_by_id("foo_select"))
2. my_select.select_by_value("3")
および関連する HTML
<form>
<select id="foo_select" name="foo_select">
<option selected="selected" value="1">Ford</option>
<option value="2">Hyundai</option>
<option value="3">Jeep</option>
<option value="4">Kia</option>
<option value="5">Nissan</option>
<option value="6">Toyota</option>
</select>
</form>
上記の 1 の後に my_select の値を確認できますが、実際には「foo_select」という名前の選択を参照しています。しかし、2行目は値「3」のオプションを選択していないようです(何も選択していません。他の「select_by ..」バリエーションも試しました)。実際、my_select.first_selected_option (2 以降) を見ると、まだ最初のオプションである「フォード」を参照しています。