2016-02-16 2 views
0

Я пытался автоматизировать несколько действий на веб-инструменте, используя селен с python в качестве языка сценариев.Невозможно выбрать значение в списке из selenium python script

Так что на этой странице у меня есть поле с именем status, вот код HTML для этого.

<div style="padding-left:105px" id="x-form-el-BugFieldsEditor_Status-desc" class="x-form-element x-form-el-BugFieldsEditor_Status-desc" role="presentation"> 
    <div class=" x-form-field-wrap x-component " role="combobox" id="BugFieldsEditor_Status-desc" style="width: 230px;"> 
     <input type="text" class=" x-form-field x-form-text x-triggerfield-noedit" id="BugFieldsEditor_Status-desc-input" name="Status-desc" tabindex="1" readonly="" autocomplete="off" aria-owns="x-auto-462" aria-selected="" style="width: 205px;" aria-readonly="false" aria-invalid="false" aria-required="false"> 
     <img class="x-form-trigger x-form-trigger-arrow" src="https://someurl/clear.gif" id="x-auto-463"> 
    </div> 
</div> 

Это действительно отображается в виде выпадающего списка с разделителем compo на странице. Я могу найти этот элемент через find element by ID и смогу имитировать событие click, которое отображает список параметров, которые он содержит. HTML-код этого - это.

<div role="presentation" id="x-auto-881" class="x-combo-list x-ignore x-component x-border " style="border-width: 1px; z-index: 1060; visibility: visible; height: 273px; width: 228px; left: 277px; top: 75px;"> 
    <div tabindex="0" hidefocus="true" id="x-auto-462" class=" x-view x-combo-list-inner x-component x-unselectable " style="overflow-x: hidden; padding: 0px; border-width: 0px; height: 273px; width: 228px;" unselectable="on"> 
     <div class="x-combo-list-item " role="listitem">A-Assigned</div> 
     <div class="x-combo-list-item " role="listitem">C-Closed</div> 
     <div class="x-combo-list-item " role="listitem">D-Duplicate</div> 
     <div class="x-combo-list-item " role="listitem">F-Forwarded</div> 
     <div class="x-combo-list-item " role="listitem">H-Held</div> 
     <div class="x-combo-list-item " role="listitem">I-Info_req</div> 
     <div class="x-combo-list-item " role="listitem">J-Junked</div> 
     <div class="x-combo-list-item " role="listitem">M-More</div> 
     <div class="x-combo-list-item " role="listitem">O-Opened</div> 
     <div class="x-combo-list-item x-view-highlightrow x-combo-selected" role="listitem">P-Postponed</div> 
     <div class="x-combo-list-item " role="listitem">R-Resolved</div> 
     <div class="x-combo-list-item " role="listitem">U-Unreproducible</div> 
     <div class="x-combo-list-item" role="listitem">W-Wait</div> 
    </div> 
</div> 

Теперь вопрос, на имитируя щелчок, хотя отображается список вариант, но я не могу найти этот элемент и выбрать любой вариант.

Может кто-то помочь.

+2

Где код? – timgeb

+0

По какой-то причине это не появилось. обновил его, и вы должны быть в состоянии видеть то же самое сейчас. –

+0

Вы пробовали с sendkeys? –

ответ

0

Вы должны быть в состоянии получить его с селектором XPATH, как это:

driver.find_element(By.XPATH, '//div[text()="A-Assigned"]') 

Вам может понадобиться сделать селектор более конкретным в зависимости от остальной части HTML.

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