我想选择一个下拉菜单并选择一个选项。 我使用的是最新版本的硒,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>
打印语句是没有测试/代码跟踪望目。