Используется когда страница построена на canvas — игры, графические редакторы, кастомные UI-фреймворки. Там нет DOM-элементов вообще, только пиксели. У вас есть папка с PNG-файлами кнопок, и вы ищете их на экране.

Алгоритм:

  1. Находим изображение на странице через tab.FindImage()
  2. Парсим координаты из результата
  3. Кликаем по центру найденной области

Метод FindImage возвращает строку формата "Left, Top, Width, Height" или пустую строку если не нашёл.

//  получаем хэш — DrawToBitmap возвращает строку, это и есть imageHash 
HtmlElement he = instance.ActiveTab.FindElementById("myButton"); 
string imageHash = he.DrawToBitmap(false); 
project.SendInfoToLog(imageHash);
 
// Если это файл
string imageHash = Convert.ToBase64String(File.ReadAllBytes(@"C:\images\button.png"));
 
// Ищем картинку по всей видимой области
Rectangle[] searchArea = new Rectangle[] { new Rectangle(0, 0, 1280, 900) };
 
string result = instance.ActiveTab.FindImage(imageHash, searchArea, 95);
 
if (result != "")
{
    // Парсим строку "Left, Top, Width, Height"
    string[] parts = result.Split(',');
    int left   = int.Parse(parts[0].Trim());
    int top    = int.Parse(parts[1].Trim());
    int width  = int.Parse(parts[2].Trim());
    int height = int.Parse(parts[3].Trim());
    
    // Кликаем в центр найденного изображения
    int centerX = left + width / 2;
    int centerY = top + height / 2;
    
    instance.ActiveTab.MouseClick(centerX, centerY, "left", "click");
    project.SendInfoToLog("Нашли картинку и кликнули: " + result);
}
else
{
    project.SendInfoToLog("Картинка не найдена");
}

Параметр confidenceInterval (95–99) — процент совпадения при поиске. 95 — допускает небольшие отличия, 99 — почти точное совпадение. Если картинка не находится — попробуйте снизить до 95.