2015-12-02 8 views
2

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

selenium.common.exceptions.ElementNotVisibleException: элемент сообщения не отображается: элемент в настоящее время не виден и может не отображаться манипулировать

ниже код я пытался:

cur=Select(driver.find_element_by_id("currencyCode")) 
cur.select_by_visible_text('USD') 

ниже HTML-синтаксис кода:

<div class="form-group true-grid-3"> 
      <label for="currencyCode">Currency</label> 
      <select id="currencyCode" name="criteria.currencyCode" class="form-control" style="display: none;"> 
       <option value="CHF">CHF</option> 
       <option value="EUR">EUR</option> 
       <option value="GBP">GBP</option> 
       <option value="JPY">JPY</option> 
       <option value="USD">USD</option> 

ответ

3

Установите display: none на display: block в свойство css, чтобы элемент стал видимым.

driver.execute_script("document.getElementById('criteria.currencyCode').style.display = 'block';") 
+0

Это решение работает идеально, если я изменить идентификатор из «criteria.currencyCode» до «CurrencyCode» Благодаря тонну! –

1

Вы можете попытаться вызвать раскрывающийся driver.find_element_by_id("currencyCode").click(), а затем, когда параметры стали видимыми, выберите нужный параметр driver.find_element_by_xpath('//option[@value="USD"]').click()

+0

все время показывал ту же ошибку andersson, она работала, если я изменил отображение с «none» на «block» с помощью javascript-кода. Благодаря ! –

Смежные вопросы