我正在尝试基于某种逻辑来获取一个ID(可能存在多个具有相同名称的ID,因为它的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-destination-name [title =“ ARCH_convertAvroToORC”]的定位符来获取“ connection-id”。在不同的处理器源/目标名称之间,connection-id值有所不同,但我想根据处理器源/目标名称来获取该特定名称。
在这种情况下,如何获取#connection-id?有办法吗?我将使用Java中的硒。
目的:我需要在nifi中唯一地获取“连接” id(例如成功/失败队列),而不必具有基于先前和转发处理器名称(在我的流程中是唯一的)的唯一名称。
答案 0 :(得分:1)
尝试如下所示的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']
答案 1 :(得分:1)
您可以使用Selenium的WebDriver API根据条件动态选择该元素吗?您还可以调用NiFi的REST API,以检索处理器上各种连接的连接ID值。