NiFi - Как получить определенный элемент DOM на основе значения дочерних элементов - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь получить идентификатор на основе определенной логики (может быть несколько идентификаторов с одним и тем же именем, потому что это nifi, который использует angular / jquery).Пример,

Логика ниже

#connection-configuration-tabs-content
    #connection-settings-tab-content
        .settings-left
            .setting(2nd child)
                .setting-field
                    #connection-id (**GRAB**)
    #connection-details-tab-content
            #processor-source-name[title="ARCH_convertCSVToAvro"] (**if exist in this location**)
            #processor-destination-name[title="ARCH_convertAvroToORC"] (**and if exist in this location**)

Я хочу получить "идентификатор соединения" на основе локаторов # processor-source-name [title = "ARCH_convertCSVToAvro"] и # processor-имя назначения [название = "ARCH_convertAvroToORC"].Значение идентификатора соединения варьируется между разными именами процессора-источника / назначения, но я хочу получить это конкретное имя на основе имен процессора-источника / назначения.

Как мне получить # идентификатор соединения в этом сценарии?Есть ли способ сделать это?Я буду использовать селен в Java.

Цель: мне нужно однозначно получить идентификатор "соединения" (например, очередь успеха / сбоя) в nifi без уникальных имен, основанных на предыдущих и перенаправляющих именах процессора (которые являются уникальными в моем потоке).

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Можете ли вы использовать Selenium WebDriver API для динамического выбора этого элемента на основе критериев?Вы также можете позвонить в REST API NiFi, чтобы получить значение идентификатора соединения для различных соединений на процессоре.

0 голосов
/ 21 сентября 2018

Попробуйте xpath, как показано ниже:

//*[@id='connection-configuration-tabs-content' and (.//*[@id='processor-source-name' and @title='ARCH_convertCSVToAvro'] or .//*[@id='processor-destination-name' and @title='ARCH_convertAvroToORC'])]//*[@id='connection-id']
...