This may sound so simple but why there is no method to find element by its inner text without using xpath? for instance there is an element:
Some
Try to use methods in XPath.
driver.findElement(By.xpath("//button[text()='Some Text']"));
Hope this will work!