This works fine until it does not, for example when dealing with custom UI controls, which is when reality sets in and you find yourself wrangling HTML IDs, XPaths and CSS selectors again.
Global XPath type traversal is fragile, unless you're plugged in enough that the dev team lets you know when they break it.