Можем ли мы "щелкнуть" на полях редактирования, используя библиотеки Microsoft UIAutomation

В моем приложении у нас есть элемент управления webbrowserpageviewer. когда веб-страница открыта, пользователь должен щелкнуть некоторые из полей редактирования, присутствующих на веб-странице. Мы пытаемся смоделировать это поведение, используя библиотеки автоматизации пользовательского интерфейса. Я немного новичок в этом, но я вижу, что мы можем имитировать нажатия кнопок, используя InvokePattern, так есть ли подобный метод для имитации нажатий в окне редактирования?

1 ответ

Насколько я знаю, у вас есть два способа редактировать текстовые поля:

1.Вы можете добавить текст в текстовое поле, используя шаблон, предоставленный МСА. Этот шаблон называется ValuePattern.

В C# вы можете сделать это следующим образом:

ValuePattern vp = element_object.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;
vp.SetValue(value_to_set);

2. Вы можете получить ограничивающий прямоугольник текстового поля, используя свойства AutomationElement, после чего вы можете щелкнуть в нем.

Получение ограничительного прямоугольника в C#:

automationelement_object.GetCurrentPropertyValue(AutomationElement.BoundingRectangleProperty)
Другие вопросы по тегам