0

同様の状況を経験した人を期待しています。

WebサーバーからWebBroswerWPFに返されたペインを掘っています。

WebBrowserの上部にあるこのペインには、右下の2つのボタン([OK]ボタンと[キャンセル]ボタン)を除いて、表示されるすべてのもの(電子メール:テキストボックス、パスワード:パスワードボックス、ハイパーリンクなど)を含む14のコンポーネントがあります。

コレクションに表示されていないため、これら2つのボタンが他のコントロールと同じペインにない可能性があります。これらの2つのボタンのハンドルを取得するためにさまざまなコマンドラインを試しましたが、成功しませんでした。ボタン以外の他のコントロールを取得するために使用したメソッド呼び出し:

AutomationElementCollection Child4 =
     Child3.FindAll(TreeScope.Children, System.Windows.Automation.Condition.TrueCondition);

Child3はlocalizedControlType: "Pane"、Frameworkid:"Win32"です。Child4では、2つのボタンを除く他のすべてのコントロールを見ることができます。私はChild3で次のような異なるコマンドを試しました:

AutomationElementCollection btns =
      Child3.FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.IsEnabledProperty, true));

AutomationElementCollection btns =
      Child3.FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.iskeyboardfocusable, true));

AutomationElementCollection btns =
      Child3.FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.IsControlElementProperty, true));

2つのボタンが見つかりませんでした。ボタンが見つからない理由を誰かに教えてもらい、その方法を教えていただければ幸いです。

4

1 に答える 1

0

最初からUIスパイを使うべきだった。

Webサーバーから返されたペインにはテキストがあり、ボタンはコントロールタイプ内にありました:text.。

于 2012-08-23T16:27:41.170 に答える