AutomationElement ScrollBar在ScrollVertical上引发访问冲突

本文关键字:访问冲突 ScrollVertical ScrollBar AutomationElement | 更新日期: 2023-09-27 18:25:22

我正试图使用以下代码在第三方.net应用程序中滚动滚动条。当我在visualstudio中运行代码时,它会引发访问冲突。当我在visualstudio外执行程序集时,它显示不支持的模式。。。。任何想法都将不胜感激=]

if(child.Current.ClassName == "ScrollBar")
{
    PropertyCondition condition = new PropertyCondition(AutomationElement.AutomationIdProperty, child.Current.AutomationId);
    AutomationElement btnElement = child.FindFirst(TreeScope.Element, condition);
    ScrollPattern btnPattern = btnElement.GetCurrentPattern(ScrollPattern.Pattern) as ScrollPattern;
    btnPattern.ScrollVertical(ScrollAmount.LargeIncrement);
}

AutomationElement ScrollBar在ScrollVertical上引发访问冲突

我本该做的几项检查:

  1. btnElement缺少空检查
  2. 确保滚动条确实存在(滚动模式不会显示,除非窗格大小超过窗口大小(如果这样设计的话)
  3. 最后,不要直接将模式获取为ScrollPattern,请尝试从bthElement获取GetAllSupportedPatterns,确保ScrollPatterns确实存在