В этом случае рекомендуется использовать селен linkText (org.openqa.selenium.By.linkText), который передает текст внутри тега и возвращает совпадение.Для правильного использования вы также можете использовать цепочку, вот простой пример:
import org.openqa.selenium.support.pagefactory.ByChained;
import org.openqa.selenium.By;
import static org.openqa.selenium.By.linkText;
import static org.openqa.selenium.By.cssSelector;
public static By chain(final By... bys) {
return new ByChained(bys);
}
public void yourClickMethodOnAElements(final String name) {
click(chain(cssSelector("div.tabs > a"), linkText(name)));
}
public WebElement click(final By by) {
return click(driver.findElement(by));
}
public WebElement click(WebElement element) {
Actions action = new Actions(driver);
action.moveToElement(element).click().perform();
sleepIfNeeded();
return element;
}
Это упрощенная версия, вы можете улучшить ее с помощью проверок официантами и т. Д.