UI Component Selectors Using Static Properties for Dynamic IDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User interface components with dynamic identifiers pose a challenge for consistent identification, as their identifiers change over time, making it difficult to generate a reliable component selector.

Innovation Solution

A component selector system determines static properties of UI components, such as active screen identifiers, macroponent identifiers, compositional elements, and static identifiers, combining them to generate a unique selector that remains constant across different renderings of the UI.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dynamic identifiers are used for UI components to enable reuse across different UIs, then adaptability is improved, but reliability of component identification deteriorates

Engineering Contradiction:
ImproveUI component reuseVSAvoidcomponent identification
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The component identification system is segmented into two parts: dynamic identifiers (for flexibility and reuse) and static properties (for reliable identification). The system selectively uses static properties such as component type, position in hierarchy, and other invariant characteristics to generate component selectors that remain consistent across different UI instantiations, while dynamic identifiers can change to enable component reuse.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If component identifiers change over time to support dynamic UI rendering, then adaptability is improved, but measurement precision of component identity deteriorates

Engineering Contradiction:
Improvedynamic UI renderingVSAvoidcomponent identity consistency
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

Static properties serve as an intermediary between the dynamic identifier system and the component selection mechanism. Instead of directly using dynamic identifiers that change with each UI rendering, the system uses static properties (component type, hierarchical position, etc.) as a stable intermediary to generate component selectors, ensuring consistent identification while allowing the underlying identifiers to remain dynamic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If static properties are combined to generate component selectors, then reliability of identification is improved, but device complexity increases

Engineering Contradiction:
Improvecomponent identification consistencyVSAvoidselector generation system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The component selector generation system is designed to be universal and multi-functional. It can automatically generate component selectors using static properties across different UI frameworks and rendering contexts without requiring framework-specific customization. The system handles multiple component types, hierarchical structures, and identification scenarios through a unified approach, reducing the need for separate specialized systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12554380B2Component selector for user interfaces with dynamic identifiers
Publication Date: 2026.02.17 SERVICENOW INC
  • US12554380B2 patent drawing
  • US12554380B2 patent drawing
  • US12554380B2 patent drawing

AI summary

A method includes obtaining an indication of a user interface (UI) component of a user interface, and determining an association between the UI component and a dynamic identifier. The method also includes, based on determining the association, determining one or more static properties of one or more parent UI components of the UI component, and generating a component selector for the UI component based on the one or more static properties. The method further includes outputting the component selector for the UI component.