Проблема такого рода, есть xPath (Так как html генерируется автоматом и криво + динамические ID) ищу способ сократить и оптимизировать локаторы.
Пока что пришел только к такому виду
driver.findElement(By.xpath("//a[text()=' Настройка услуг ']")).click();
И при этом выдает ошибку, вот такого рода:
org.openqa.selenium.InvalidSelectorException: The xpath expression '//a[text()=' пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅ ']' cannot be evaluated or does notresult in a WebElement (WARNING: The server did not provide any stacktrace information)
Все ID динамические, и атрибуты скачут постоянно.
И даже если искать по статическому атрибуту, то зачастую на ходит больше 1-го. Пока приходится писать xPath-ы типа:
Если проблема с кодировкой и xpath не хочет воспринимать кирилицу то можно попробовать сделать метод, который будет принимать текст, искать все элементы через findElements, удовлетворяющие xpath:
А потом через перебор возвращать тот, который содержит твой текст, а может и кликать
p.s. Кстати может оказаться так что тебе нужно будет кликать не на ссылку, а на иконку.