2013-11-12 2 views
0

Мне нужно выбрать поле, похожее на раскрывающийся список, но не фактический раскрывающийся список. Поле select показывает значение во всплывающем окне, которое содержит значения и под-значения, мне нужно выбрать значения.Невозможно выбрать значение из всплывающего окна, которое аналогично dropdown -box

облицовочные вопросы:

не в состоянии идентифицировать объект и не может выбрать значение из поля.

Я попытался использовать cssSelector для идентификации объекта: «div [class = 'mailval'] [title = 'Breast> Both']". Это не работает.

Ниже приводится HTML код:

<div class="rowDiv "> 
    <label for="bodypart">Body Part</label> 
    <div id="bodypart_box_1"> 
     <div style="position:absolute;left:185px;z-index: 20"> 
      <ul class="parent"> 
       <li> 
        <div id="main" class="mailval">events=Object { click=[1]}handle=function() 
         <input id="bodypart_1" class="bodypart" type="text" onfocus="if($(this).hasClass('disabled')){$(this).blur();}" readonly="readonly" value="Select One" name="bodypart_1" title=""> 
         <input id="actualBodypart_1" type="hidden" value="Breast" name="actualBodypart_1"> 
        </div> 
        <ul id="bodyPartList_1" class="top sub bodyPartList" style="display: none;">olddisplay="block" 
         <li> 
          <div class="mailval fly" title="Breast" originaltitle="Breast">Breast</div>events=Object { click=[1], mouseover=[1]}handle=function() 
          <ul> 
           <li> 
            <div class="mailval" title="Breast > Both" originaltitle="Breast > NULL > Both">Both</div>events=Object { click=[1], mouseover=[1]}handle=function() 
           </li> 
           <li> 
            <div class="mailval" title="Breast > Left" originaltitle="Breast > NULL > Left">Left</div>events=Object { click=[1], mouseover=[1]}handle=function() 
           </li> 
           <li> 
            <div class="mailval" title="Breast > Right" originaltitle="Breast > NULL > Right">Right</div>events=Object { click=[1], mouseover=[1]}handle=function() 
           </li> 
          </ul> 
         </li> 
        </ul> 
       </li> 
      </ul> 
      <div style="clear:both"></div> 
     </div> 
     <p id="bodypart-error" class="errorMessage ml161px pa ie7ErrorFix" style="top:140px !important"></p> 
    </div> 
+0

как это ява вопрос ?? – Hilikus

+0

Мне нужно выбрать значение в моем селене, используя java. – user2943890

+1

затем добавить соответствующий код Java; в противном случае это html, css question – Hilikus

ответ

0

Правильный способ использования атрибута класса в селекторе, оно должно быть предшествует «»

ваш селектор можно переписать следующим образом:

div[title='Breast > Both'].mailval 

вы можете попробовать этот селектор, а также, идентификатор атрибут должен быть предшествует "#"

#bodyPartList_1 > div div[title='Breast > Both'].mailval 

refer this to learn more about selectors

E DIT: В соответствии с вашим html всплывающее окно появляется только при наведении курсора мыши или нажатии. Это действие может быть выполнено с использованием JavascriptExecuter,

((JavascriptExecutor)driver).executeScript("$('#bodyPartList_1 > .mailval.fly').click();"); 

Теперь будет отображаться всплывающее окно, нужно просто выбрать нужное значение ...

new WebDriverWait(driver,20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div[title='Breast > Both'].mailval"))).click(); 
+0

Я использовал cssSelector = # bodyPartList_1> div> div [title = 'Breast> Both']. Mailval. Он показывает мне ошибку как «Не удалось найти элемент:». Не могли бы вы помочь мне определить и выбрать объект. – user2943890

+0

Даже я пробовал для xpath = "// * [@ id = 'bodyPartList_1']/li [1]/div". Элемент получает идентификацию, но показывает ошибку: «Элемент в настоящее время не виден и поэтому не может взаимодействовать с ...». Как определить объект, если он не отображается? – user2943890

+0

Вы можете указать свой код? – Amith

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