gpt4 book ai didi

c# - 使用 UIAutomation 选择网格中存在的复选框

转载 作者:行者123 更新时间:2023-11-30 18:22:43 25 4
gpt4 key购买 nike

使用 UIAutomation 选择网格中的复选框。下面的代码为调用模式返回无效模式:

AutomationElement mainGrid = appElement1.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "ReadinessTestList"));
// find the grid in the window
if (mainGrid != null)
{

MessageBox.Show("inside the grid");

// select just the first cell
var item = mainGridPattern.GetItem(0, 0);
MessageBox.Show(Convert.ToString(item));
//item.SetFocus();

AutomationElement FirstCheckBox = GetTextElement(item, "SystemNameCheckBox");

if (FirstCheckBox != null)
{
MessageBox.Show(Convert.ToString(FirstCheckBox));
TogglePattern SelectedFirstCheckBox = FirstCheckBox.GetCurrentPattern(TogglePattern.Pattern) as TogglePattern;
MessageBox.Show(Convert.ToString(SelectedFirstCheckBox));

ToggleState FirstCheckBxState = SelectedFirstCheckBox.Current.ToggleState;
string try2 = Convert.ToString(FirstCheckBxState);
MessageBox.Show(try2);

//FirstCheckBxState.On;

if (FirstCheckBxState != ToggleState.On) // not on? click it
{
InvokePattern invokefirstCheckBox = (InvokePattern)FirstCheckBox.GetCurrentPattern(InvokePattern.Pattern);
Thread.Sleep(2000);
invokefirstCheckBox.Invoke();
}

}

最佳答案

你应该使用 toggle pattern而不是复选框的调用模式。

 TogglePattern tpToggle = (TogglePattern)aeElement.GetCurrentPattern(TogglePattern.Pattern);
tpToggle.Toggle();

此外,安装 windows development kit 后,您还应使用位于 C:\Program Files (x86)\Windows Kits\8.1\bin\x86 中的 inspect.exe。 .该工具将允许您查看您尝试自动化的受支持模式。

关于c# - 使用 UIAutomation 选择网格中存在的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33603099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com