Я пытаюсь выработать 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
Какой элемент вы хотите найти? –
Тег Select,