2010-11-19 68 views
1

我正在使用WatiN自动处理Sharepoint应用程序。有几个屏幕点击按钮或链接附加信息将显示在灯箱弹出使用WatiN处理使用不同浏览器的弹出窗口

浏览器URL和弹出Url是不同的,因此我无法获得任何对象的任何引用。

请帮我解决这个问题,我所有的脚本都需要处理这些灯箱。

回答

2

如果按照我的理解,您的弹出窗口是在新的浏览器窗口中显示的页面,您将需要创建一个新的WatiN浏览器实例来访问此“弹出窗口”。

WatiN提供多个匹配条件来使用方法AttachTo()附加浏览器。

  • 通过URL:它必须与搜索符来结合Find.ByURL()
  • 通过URI:Find.ByURI()
  • 由Windows标题:Find.ByTitle()
  • 通过窗口句柄:Find.By()

下面是一个华廷IE浏览器弹出式窗口连接到现有的页面,在这种情况下,利用自己的窗口标题为例:

IE myPopup = IE.AttachTo<IE>(Find.ByTitle("My Popup title")); 

标题搜索只能使用部分名称。按照同样的例子与前一个,下面还应该与弹出:

IE myPopup = IE.AttachTo<IE>(Find.ByTitle("My Popup")); 

对于查找URL或URI,他们可能工作以同样的方式与部分匹配(我猜测)。所以如果你知道弹出窗口打开的URL是什么,这可能是一个更好的解决方案。特别是如果该URL比您的弹出式标题更独特,那么您将减少附加到错误浏览器的机会。

+0

嗨,不完全是。弹出窗口不打开新的浏览器。只有弹出窗口出现在新的URL中,但存在于现有的浏览器中。不幸的是,我无法在这里上传屏幕截图。希望我的问题很明确 – Kumar 2010-11-20 06:53:47

+0

你能详细说明你的弹出窗口是什么吗?一个iFrame,一个显示的新元素,一个新标签,..? – Vaudry 2010-11-23 14:31:42

+0

我们使用了Share Point 2010打开对话框来显示弹出窗口。我们可以在测试期间打开Watin中的弹出窗口。但无法访问弹出窗口中的控件。有关如何访问通过Watin弹出的控件的任何想法? – Kumar 2010-12-14 05:37:59

相关问题