Используйте Javascript, чтобы щелкнуть хитро. Выберите элемент HTML. - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь щелкнуть по кнопке Javascript в консоли (Chrome) на странице Синей книги Келли , но застрял на первом элементе выбора, раскрывающемся списке "make". Конечная цель состоит в том, чтобы выбрать марку и модель, а затем нажать следующую кнопку.

Вот как выглядит HTML (исключены некоторые варианты):

    <div class="make">
         <div class="css-k9vu0d-SelectWrapper-body-VehiclePickerInput e1019m8z0" id="">
               <select class="css-1qn61q8-StyledHiddenSelect e1euwze60">
                        <option selected="" value="" disabled="">BMW</option><option value="Acura">Acura</option>
                        <option value="Alfa Romeo">Alfa Romeo</option>
                        <option value="Aston Martin">Aston Martin</option> 
                </select>
          <div width="auto" tabindex="-1" class="css-7kga7i-StyledSelect efry5w70">
            <div class="css-19v4425-MainDisplay efry5w71">
            <div class="css-erfxdy-ValueDisplay efry5w72">
                 <div class="css-1fx1pq8-EmptyPlaceholder efry5w75">Make</div></div>
                 <div class="css-196vjd2-Carot efry5w78">
          <div class="css-armdrj-StyledDropdownMenu eq7efy70">
                <div disabled="" class="css-crz4ue-StyledOption eq7efy71">Make</div>
                <div data-value="Acura" class="css-u49v6v-StyledOption eq7efy71">Acura</div>
                <div data-value="Alfa Romeo" class="css-u49v6v-StyledOption eq7efy71">Alfa Romeo</div>
                <div data-value="Aston Martin" class="css-u49v6v-StyledOption eq7efy71">Aston Martin</div>

I пробовал следующие JS команды,

щелкните div с классом:

document.getElementsByClassName('css-k9vu0d-SelectWrapper-body-VehiclePickerInput e1019m8z0')[0].click()

щелкните div с классом:

document.getElementsByClassName('css-1qn61q8-StyledHiddenSelect e1euwze60')[0].click()

установить значение элемента select:

document.getElementsByClassName('css-1qn61q8-StyledHiddenSelect e1euwze60')[0].selectedIndex = 6

1 Ответ

2 голосов
/ 17 апреля 2020

Вы не можете"открыть" элемент select, программно щелкнув по нему.

Вы можете установить значение выбора программно.

const select = document.querySelector('.css-1qn61q8-StyledHiddenSelect.e1euwze60');

select.value = "Alfa Romeo";
<select class="css-1qn61q8-StyledHiddenSelect e1euwze60">
  <option selected="" value="" disabled="">BMW</option>
  <option value="Acura">Acura</option>
  <option value="Alfa Romeo">Alfa Romeo</option>
  <option value="Aston Martin">Aston Martin</option>
</select>
...