У меня есть следующий HTML код:
<select name="course" id="course" class="standardSelect form-control-sm form-control" data-live-search="true" data-size="10" onchange="displayStudent(this.value);" style="display: none;">
<option value="">Select course</option>
<option value="2">Course A</option>
<option value="71">Course B</option>
<option value="5">Course C</option>
...
</select>
<div class="chosen-container chosen-container-single chosen-container-single-nosearch" title="" id="course_chosen" style="width: 100%;">
<a class="chosen-single">
<span>Select course</span>
</a>
<div class="chosen-drop">
<div class="chosen-search">
<input class="chosen-search-input" type="text" autocomplete="off" readonly="">
</div>
<ul class="chosen-results">
<li class="active-result result-selected" data-option-array-index="0">Select course</li>
<li class="active-result" data-option-array-index="1">Course A</li>
<li class="active-result" data-option-array-index="2">Course B</li>
<li class="active-result" data-option-array-index="3">Course C</li>
...
</ul>
</div>
</div>
Я собираюсь очистить содержимое, отображаемое при выборе каждого курса. Поэтому я должен нажать на каждый параметр и получить исходный код страницы. Однако я не могу этого сделать. Когда я пытаюсь выбрать любой вариант, используя select_by_value()
или функции select_by_visible_text()
, я получаю ElementNotInteractableException
. Я также попробовал функцию select_by_index()
.
Ниже приведен код, который я использовал для выбора опции со значением = 2:
select_box = Select(browser.find_element_by_xpath("//select[@id='course']"))
select_box.select_by_value('2')
, и ошибка, которую он мне дает:
ElementNotInteractableException: Message: element not interactable: Element is not currently visible and may not be manipulated
(Session info: chrome=80.0.3987.149)
Пожалуйста, помогите мне разрешить это исключение или любой другой метод, который будет работать при выборе опции из выпадающего списка.