Hi,
I've created a Java library/toolkit called APORT, which provides a tiny layer on top of Selenium and allows to describe pages as sets of components,
while being still very flexible. It's goal is to make 90%+ of test devs work easier - it means less code and easier maintenance I hope.
The library focuses strictly on resolving of web elements in pages and can be combined with plain Selenium.
It's used in hundreds of tests currently and I consider it stable after the years of incremental development, so please give it a try:
Thank you,
Rostislav Matl