Seleccione un elemento por el texto que contiene con Selenium Webdriver

Acabo de comenzar con Selenium Webdriver y llegué a un problema inmediato que involucra los botones que estoy tratando de seleccionar / hacer clic, todos no tienen ID y comparten la misma clase.

Así que me pregunto cómo los selecciono por el texto único que contienen.

Posiblemente estoy pensando en el selector CSS, pero no estoy seguro de cómo decirle que busque un texto específico para seleccionar el elemento.

Todo lo que tengo actualmente es:

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();
        }

    }
}

Muy básico hasta ahora.

Cuando tengo el CssSelector, no estoy seguro de si hay que decir que seleccione "a" que contenga el texto "xyz".

He intentado buscar formas, pero no puedo encontrar nada, aunque creo que esto debe ser un problema que se ha planteado antes, gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta