Select2のプルダウン(ajax通信)にseleniumを作用させる

普通のプルダウンだとoptionタグなどから選択すればよいが、ajax通信をしているのでそう簡単にはいかなかった。
1.プルダウンの箇所をクリックしてテキストフィールドを出現させる。
2.テキストフィールドにsendKeysで文字を入力する。
3.ajax通信であいまい検索をしているのでsleepで少し待つ。
4.結果が表示される要素(idで指定)の直下のliに結果が格納されているので好きなものを指定(li[3]だと上から3つ目の結果)

    driver
     .findElement(town_By.id("select2-select_room0_0-container")).click();// 1
    driver
      .findElement(town_By.className("select2-search__field"))
      .sendKeys(setting.buildings_add.building_name); // 2
    driver.sleep(3000); // 3
    driver
      .findElement(town_By.xpath("//*[@id='select2-select_room0_0-results']/li[3]")).click();// 4