1

问题:在 IE11 中,显示“您确定要离开此页面吗?”的对话框警报。有两个选项,“离开此页面”或留在此页面上。

在 object spy 中,这是捕获的内容:

browser.Describe<IDialog>(new DialogDescription
            {
                IsOwnedWindow = true,
                IsChildWindow = false,
                Text = @"Windows Internet Explorer",
                NativeClass = @"#32770"
            }).Describe<IButton>(new ButtonDescription
            {
                Text = @"&Leave this page",
                NativeClass = @"Button"
            });

如何点击“离开此选项”?

4

1 回答 1

1

将该描述存储在变量中,如下所示:

var theButton = Desktop.Describe<IWindow>(new WindowDescription
            {
                IsOwnedWindow = true,
                IsChildWindow = false,
                WindowTitleRegExp = @"Google Chrome"
            }).Describe<IDialog>(new DialogDescription
            {
                IsOwnedWindow = true,
                IsChildWindow = false,
                Text = @"Windows Internet Explorer",
                NativeClass = @"#32770"
            }).Describe<HP.LFT.SDK.StdWin.IButton>(new HP.LFT.SDK.StdWin.ButtonDescription
            {
                Text = @"&Leave this page",
                NativeClass = @"Button"
            });

然后只需执行单击它,如下所示:

theButton.Click();

笔记:

  • 在这种情况下,父级是Desktop应用程序,而不是浏览器
  • 由于我们使用使用 StdWin 技术的本机应用程序,我们需要引用正确的命名空间:
    using HP.LFT.SDK.StdWin;
  • 因为我们现在使用两个都有IButtons 的命名空间,所以我们需要使用完全限定的名称,在这种情况下
于 2019-01-16T12:27:30.820 回答