Windows UI Automation: Как установить идентификатор автоматизации для элементов HTML? - PullRequest
0 голосов
/ 12 октября 2019

Я использую Windows UI Automation для настольных приложений. UI Automation, похоже, также может находить элементы в HTML элементов управления embedden WebBrowser, но я не смог найти способ присвоения этим элементам идентификатора автоматизации.

Я пробовал:

<button id="MyButton" >My Button</button>
<button data-automation-id="MyButton" >My Button</button>
<button AutomationProperties.AutomationID="MyButton" >My Button</button>

но никто из них не дал моей кнопке AutomationID (вторая и третья были дикими догадками).

Я идентифицирую элемент AutomationElement под курсором следующим образом:

public AutomationElement AutomationElementFromCursor()
{
   var pt = Forms.Cursor.Position;
   return AutomationElement.FromPoint( new Point( pt.X, pt.Y ) );
}

, который работаетХорошо, моя кнопка HTML идентифицируется, но без AutomationID. Конечно, я мог бы вместо этого использовать свойство «Имя», но это может нарушить мой код при каждом изменении текста кнопки.

...