Я пытаюсь автоматизировать некоторые задачи при работе с Selenium, так что это мой первый раз, используя его.Доступ к полям в раскрывающемся элементе
Я добираюсь до части своего кода, где мне нужно выбрать несколько значений из раскрывающегося меню.
я получить доступ к этому меню, делая это:
metrics_element = driver.find_element_by_xpath("//div[@class='metrics']")
metrics_element.click()
Тогда для здравомыслия проверить, я хочу, чтобы увидеть все мои варианты в этом меню, так что я сделать это, согласно документации:
all_options = metrics_element.find_elements_by_tag_name('option')
for option in all_options:
print option.get_attribute('value')
Это возвращает меня, что я думал, были словари:
{"id": "1", "name": "name_1", "field": "field_1", "service": "service_1" }
{"id": "2", "name": "name_2", "field": "field_2", "service": "service_1" }
{"id": "3", "name": "name_3", "field": "field_3", "service": "service_1" }
Когда я попытался обращающиеся их Dictiona Я был встречен с ошибкой. Как я могу выбрать определенные поля. Например, я хотел бы выбрать, где это было name in ('name_1', 'name_3')
? И moreso вообще, как бы я пошел о выборе показателей из этого metrics_element
? Благодаря!
Редактировать: Вот HTML
этого меню
<div class="select2-container select2-container-multi" id="s2id_metrics" style="width: 400px;">
<ul class="select2-choices">
<li class="select2-search-field">
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input select2-default" id="s2id_autogen5" style="width: 398px;">
</li>
</ul>
</div>
Как именно вы пытались получить доступ к этим значения? – Andersson
Я попытался загрузить их в 'simplejson' dict, но он занимает слишком много времени, так как есть много возможных полей. Какой был бы лучший способ получить к ним доступ? –
Я мог просто вручную ввести все эти значения раньше времени. Затем скопируйте их «xpath» из исходного кода, а затем создайте цикл, чтобы выбрать все из них. Должен быть более эффективный путь, чем это, верно? –