- Создаем ауру, кидаем в нее триггер Text Search
- В триггере указываем зону захвата. Важно! Не забываем включить опцию
Include Text Segments - по умолчанию она выключена ради увеличения производительности
- Создаем ауру со скриптом
- Копипастим, исправляем параметры поиска слова на желаемые
var sendInput = GetService<ISendInputUnstableScriptingApi>();
var ocr = AuraTree.GetTriggerByPath<ITextSearchTrigger>("./Test");
if (!ocr.IncludeTextSegments){
throw new ArgumentException($"It seems that {nameof(ocr.IncludeTextSegments)} is disabled in TextSearch {ocr}, segments data is not available");
}
var data = ocr.Refresh();
Log.Info($"OCR chars: {data.Detected.Segments.DumpToTable()}");
var textToClickOn =
data.Detected
.Segments
.Where(x => x.Text == "HVDK") //or any other logic
.FirstOrDefault();
if (textToClickOn == default){
throw new ArgumentException("Failed to find text segment matching your conditions");
}
var textLocationOnScreen = data.ToScreen(textToClickOn.Region);
Log.Info($"Text: {textToClickOn.Text}, rel: {textToClickOn.Region}, screen: {textLocationOnScreen}");
sendInput.MouseMoveTo(textLocationOnScreen.Center());
sendInput.MouseClick();