Кто-то подсказывает мне это решение, и оно работает для меня сейчас. Итак, я публикую ответ здесь.
В окне списка есть элемент доступности "lbStates". Мы хотим нажать на элемент «N C», который имеет текст «N C». В этом случае свойство «Отображаемое» большинства элементов списка будет ложным. Мы можем нажать кнопку вниз в ListBox, чтобы прокрутить вниз, или Мы можем нажать кнопки и проверить, отображается ли значение, на которое мы хотим нажать, или нет. Возможно, что значение, которое мы хотим щелкнуть, отсутствует в списке, в этом случае наш код будет go в тупике, и для этого я ввел целое число maxClicks.
[TestMethod]
public void ListBoxTest()
{
//lbStates
var lbStates = sessionWinForm.FindElementByAccessibilityId("lbStates");
var allListItems = lbStates.FindElementsByTagName("ListItem");
var valueToClick = "NC";
var maxClicks = 10;
foreach(var ali in allListItems)
{
Debug.WriteLine($"{ali.Displayed} - {ali.Text}");
if(ali.Text.Equals(valueToClick) && !ali.Displayed)
{
var downButton = lbStates.FindElementByAccessibilityId("DownButton");
var listItemToClick = lbStates.FindElementByName(valueToClick);
while(!listItemToClick.Displayed && (maxClicks-- > 0))
{
downButton.Click();
listItemToClick = lbStates.FindElementByName(valueToClick);
if (listItemToClick.Displayed)
{
listItemToClick.Click();
}
}
}
}
}