If we open a WebClient UI page with Chrome and inspect its UI element via Chrome development tool, we could observe that the id attribute has some prefix for example C#_W#_V#_V#.. where # represents a number.
Where is this id generated? Set a breakpoint on method CL_CHTMLB_CONFIG_UTILITY~RENDER_FROM_XML and we can find the method GENERATE_TAG_ID which did the job:
All the ID of the page in the view hierarchy will be concatenated as the prefix of current element’s ID.
If the current page is the first child of its parent, it has ID 1 assigned ( line 22 ), or else WebUI framework will increase the counter held internally and assign the latest value to the current UI element as ID ( line 16 ).
Finally the ID is concatenated with seperator “_”.
This ID will appear in the rendered HTML native code.
The capital characters contained in the ID are defined as constant attribute in CL_BSP_WD_CONTROLLER.