Как обработать набор не связанных элементов за один проход?

На странице имеется такой блок элементов:

<dl class="dl-horizontal company">
    <dt>Наименование</dt>
    <dd>Управляющая компания «ЦЖКУ»</dd>
    <dt>Руководитель</dt>
    <dd>Жxxx Аxxx Аxxx</dd>
    <dt>Адрес</dt>
    <dd>Москва, ул. Спартаковская xxx</dd>
    <dt>Телефон (ы)</dt>
    <dd>9999999999</dd>
</dl>

Я собираю данные в один справочник таким кодом:

el_dl = WebDriverWait(self._driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, '.container .row DL.dl-horizontal.company')))

if el_dl:
    dts = self._driver.find_elements_by_css_selector("DT")
    dds = self._driver.find_elements_by_css_selector("DD")

    list_dts: List[str, str] = []
    list_dds: List[str, str] = []
    dict_data: Dict[str, str] = {}

    for dt in dts:
        list_dts.append(dt.text)

    for dd in dds:
        list_dds.append(dd.text)

    dict_data = dict(zip(list_dts, list_dds))

Вопрос, можно ли как то эффективнее работать с элементами, нежели в моей реализации?

P.S. У меня 2 цикла перебора элементов с последующим объединением, что не очень кошерно.


Ответы (0 шт):