首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式“单击”Silverlight HyperlinkButton (WebAii)

如何以编程方式“单击”Silverlight HyperlinkButton (WebAii)
EN

Stack Overflow用户
提问于 2009-08-28 17:24:26
回答 1查看 5.6K关注 0票数 3

我目前正在使用WebAii自动化框架来编写一些针对Silverlight3应用程序的用户界面测试。我是Silverlight的新手,我怀疑我遗漏了一些关于HyperlinkButton的信息。

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

我不知道如何执行那个点击。到目前为止我所拥有的代码(简化):

代码语言:javascript
复制
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");

我希望看到一些Click()操作,或者可以在"linkicareabout“变量上调用的导航()方法,但我肯定错过了它是如何实现的。

EN

回答 1

Stack Overflow用户

发布于 2009-08-28 18:05:25

我自己做不到这一点,只能写自己的导航代码。对于火狐和IE,你可以只使用HtmlPage.Window.Navigate导航到所需的网址。

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

此解决方法是detailed here

基本上,它需要向包含Silverlight控件的HTML页面添加一个隐藏的锚点和按钮,然后通过调用DOM修改锚点并单击按钮。

代码语言:javascript
复制
 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);
 }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1348361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档