В настоящее время я делаю программу, которая будет автоматизировать задачу, которую мне нужно выполнить для программы.
Одна из проблем, с которыми я сейчас сталкиваюсь, - это «нажатие» на меню в строке меню.
Я нашел имя класса для строки меню, используя Spy ++, он называется TActionMainMenuBar, но все "под" он локализован как ammbSSC.
https://i.imgur.com/R7lLfVg.png
Я могунайти строку главного меню, используя:
var x = window.Get(SearchCriteria.ByClassName("TActionMainMenuBar"));
Console.WriteLine(x.ToString());
, который возвращает:
Panel. AutomationId:1311676, Name:ammbSSC, ControlType:pane, FrameworkId:Win32
TestStack.White.Application
Но попытка найти «ДЕЙСТВИЯ» с использованием .ByText или .ByIndex (или чего-либо еще на самом деле) вызывает исключениечто он не может найти «ДЕЙСТВИЯ».
Могу ли я найти такой текст?Или я должен прибегнуть к использованию ввода мышью - то есть автоматизации движений мыши?
РЕДАКТИРОВАТЬ:
Я также пытался сделать это так:
window.GetMultiple(SearchCriteria.ByControlType(ControlType.Pane).AndByClassName("TActionMainMenuBar"))[1].Click();
Но этовыдает «Индекс вышел за границы массива».
Я также попытался сделать это следующим образом:
window.GetMultiple(SearchCriteria.ByControlType(ControlType.Pane))[1].Click();
И:
window.GetMultiple(SearchCriteria.ByControlType(ControlType.Pane).AndByClassName("TActionMainMenuBar").AndByText("ACTIONS"));
window.Click();
Но этоперемещает мою мышь вокруг центра моего экрана.