代码之家  ›  专栏  ›  技术社区  ›  ahockley

如何以编程方式“单击”Silverlight超链接按钮(WebAii)

  •  3
  • ahockley  · 技术社区  · 15 年前

    该应用程序有一个HyperlinkButton,我正在尝试编写代码来导航到页面,在页面中找到按钮,然后“单击”该按钮(该按钮将按照HyperlinkButton属性中的指定导航到NavigateUri)。

    Manager.LaunchNewBrowser(BrowserType.InternetExplorer);
    ActiveBrowser.NavigateTo("http://server/appname/");
    var slApp = ActiveBrowser.SilverlightApps()[0];
    var menu = slApp.FindName<StackPanel>("LinksStackPanel");
    var linkicareabout = menu.Find.ByName<HyperlinkButton>("Some Cases");
    

    2 回复  |  直到 13 年前
        1
  •  3
  •   Faris    15 年前

    使用者 对象关闭Hyperlink按钮。WebAii附带的所有控件都具有该对象。通过这种方式,您可以对任何控件类型调用任何用户操作。

    linkicareabout.User.Click()

    这个 使用者 对象支持您可以想到并模拟真实用户交互的任何用户操作。查看文档 here

        2
  •  2
  •   Jeff Yates    15 年前

    HtmlPage.Window.Navigate 导航到所需的URL。

    然而,Safari和Chrome需要一些额外的工作。我不得不使用隐藏的HTML组件和一些javascript互操作。

    这个解决方法是 detailed here .

     HtmlElement anchor = HtmlPage.Document.GetElementById("externalAnchor");
     HtmlElement button = HtmlPage.Document.GetElementById("externalButton");
     if ((anchor != null) && (button != null))
     {
         anchor.SetProperty("href", url);
         button.Invoke("click", null);
     }
    
    推荐文章