Попробуйте
WebElement tshirts = tshirts_tab.findElement(By.partialLinkText("T-SHIRTS"));
или
WebElement tshirts = tshirts_tab.findElement(By.linkText("T-SHIRTS"));
В соответствии со спецификацией WebDriver https://www.w3.org/TR/webdriver1/#link-text
"Let Rendered Text быть значением, которое будет возвращено при вызове Get Element Text для элемента. "
В вашем случае вы можете видеть, что элемент, который вы ищете через linktext, имеет стиль "text-transform: uppercase;"
, который фактически преобразовывает текст рендер в верхнем регистре.
Вы можете найти этот элемент, используя другой локатор, а затем вызвать метод .getText()
и увидеть, что он на самом деле возвращает "ФУТБОЛКИ".Поэтому вызов linkText
также должен быть снабжен «ФУТБОЛКАМИ» (визуализированный текст) в качестве параметра.