2015-10-23 2 views
0

Я пытаюсь выработать XPATH или CSS для выпадающего элемента, который, кажется, находится в вложенных тегах span. Я хочу найти тег Я могу найти текст над выпадающим списком, но я не могу спуститься по тегам span, чтобы перейти к выпадающему элементу.Selenium Python Я пытаюсь выбрать падение из вложенного тега span с помощью XPATH или CSS selector

У меня есть XPATH, чтобы перейти к тексту над выпадающим. XPATH:

//span[contains(text(), "Select a data preview to import configuration from")] 

Если я пытаюсь использовать предыдущий :: span [2], он идет слишком далеко вниз.

//span[contains(text(), "Select a data preview to import configuration from")]/preceding::span[2] 

HTML-фрагмент является:

<div class="GPI5XK1CM" style="padding-right: 16px;position:relative;outline:none;" __idx="0" onclick=""> 
<div style="position:absolute;display:none;"/> 
<div> 
<span/> 
<span> 
<span title="" style="font-weight:bold;">Select a data preview to import configuration from</span> 
</span> 
<span/> 
<span> 
<span class="" title="" style="display:block;"/> 
</span> 
<span/> 
<span/> 
<span/> 
<span/> 
<span/> 
<span> 
<span class="" title="None" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;empty-cells:show;"> 
    <select tabindex="-1"> 
     <option selected="selected" value="None">None</option> 
     <option value="CRMINVALID_07102015">CRMINVALID_07102015</option> 
     <option value="LADEMO_crm2_Chrome">LADEMO_crm2_Chrome</option> 
     <option value="LADEMO_CRM_DONOTCHANGE_CHROME">LADEMO_CRM_DONOTCHANGE_CHROME</option> 
     <option value="LADEMO_ESCR_DO_NO_CHANGE_CHROME">LADEMO_ESCR_DO_NO_CHANGE_CHROME</option> 
     <option value="Lademo_odb_Data">Lademo_odb_Data</option> 
     <option value="test">test</option> 
    </select> 
    </span> 
    </span> 
</div> 

Что XPATH или CSS мог я использовать, чтобы добраться до падения вниз? CSS быстрее, это было бы хорошо.

Я думаю, что сейчас я работал, но не уверен, что это хороший способ сделать это. Это один работает для меня:

//span[contains(text(), "Select a data preview to import configuration from")]/preceding::span[1]//../span//../select 
  • Первый поиск двускатной элемента с текстом Выберите предварительный просмотр данных, чтобы импортировать конфигурацию из
  • затем найти первый пролет тегов/предшествующую :: пядь [1]
  • затем найти все пролетные тег ниже 1-го диапазона тега //../span
  • затем найти падение вниз, где он находится в тегах пролетных //../select

Использование //../выберите, если структура изменится, она все равно будет работать.

Правильно ли это?

Спасибо, Riaz

+0

Какой элемент вы хотите найти? –

+0

Тег Select,