Выберите элемент по тексту, который он содержит, с помощью Selenium Webdriver

Я только что начал с Selenium Webdriver, и я сразу же решил проблему с кнопками, которые я пытаюсь выбрать / щелкнуть, у всех нет идентификаторов и они принадлежат к одному классу.

Поэтому мне интересно, как я выбираю их по уникальному тексту, который они содержат.

Я думаю, возможно, с помощью селектора CSS, может быть, но я не уверен, как также сказать ему, чтобы искать конкретный текст для выбора элемента.

Все, что я в настоящее время имею:

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium.Internal;

namespace SeleniumTest1.Methods
{
    public class HomePage
    {

        private readonly IWebDriver _browser;
        public HomePage(IWebDriver browser)
        {
            _browser = browser;
        }

        public IWebElement SearchBox()
        {
            return _browser.FindElement(By.Id("searchBox"));
        }

        public void ImageButton()
        {
            _browser.FindElement(By.CssSelector("a")).Click();
        }

    }
}

Очень простой до сих пор.

Где у меня есть CssSelector, я не уверен, что если так или иначе сказать, выберите «a», содержащий текст «xyz».

Я пробовал искать пути, но ничего не могу найти, хотя я чувствую, что это должно быть проблемой, которая поднималась раньше, спасибо.