Здравствуйте! Я понял это с помощью ActionChains. Спасибо!

аюсь выбрать выпадающее меню и выбрать опцию. Я использую последнюю версию Selenium, последнюю версию Firefox, последнюю версию geckodriver и последнюю версию Python.

Вот моя проблема: когда я пытаюсь выбрать опцию, она выдает мне следующую ошибку:

selenium.common.exceptions.ElementNotInteractableException: Message: Element <option> could not be scrolled into view.

Я пробовал разные способы обойти эту проблему, но ни один из них не помог. Вот некоторые из подходов, которые я попробовал.

mySelectElement = browser.find_element_by_id('providerTypeDropDown')
dropDownMenu = Select(mySelectElement)
dropDownMenu.select_by_visible_text('Professional')

mySelectElement = browser.find_element_by_id('providerTypeDropDown')
dropDown = Select(mySelectElement)
for option in dropDown.options:
    message = option.get_attribute('innerText')
    print(message)
    if message == 'Professional':
        print("Exists")
        dropDown.select_by_visible_text(message) 
        break

element = browser.find_element_by_id('providerTypeDropDown')
browser.execute_script("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text == arguments[1]){ select.options[i].selected = true; } }", element, "Professional")

HTML-код следует обычным тегам выбора и тегам параметров. Любая помощь приветствуется. HTML-код включен ниже.

<select data-av-chosen="providerTypes" id="providerTypeDropDown" data-placeholder="Please Select a Provider Type" name="providerTypeDropDown"
class="chzn-select input-full ng-pristine chzn-done ng-invalid ng-invalid-provider-type" data-ng-options="providerType.value for providerType in request.models.providerTypes"
data-ng-model="request.models.providerType" data-av-validator-field="providerType" data-disable-search-threshold="5" style="display; none;">
    <option value="" class="">Please Select a Provider Type</option>
    <option value="0">Professional</option>
    <option value="1">Institutional</option>
</select> 

Операторы печати предназначены для тестирования / отслеживания кода.

Ответы на вопрос(2)

Ваш ответ на вопрос