使用WatiN处理使用不同浏览器的弹出窗口

时间:2010-11-19 13:13:40

标签: watin

我正在使用WatiN自动化Sharepoint应用程序。点击按钮或链接附加信息的屏幕很少会显示在灯箱弹出

浏览器网址和弹出网址不同,因此无法获取对象的任何引用。

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

1 个答案:

答案 0 :(得分:2)

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

WatiN提供多种匹配条件,使用AttachTo()方法附加浏览器。它必须与搜索说明符结合使用:

  • 按网址:Find.ByURL()
  • 按URI:Find.ByURI()
  • 按Windows标题:Find.ByTitle()
  • 按窗口句柄:Find.By()

这是一个将WatiN IE浏览器附加到现有页面的示例,在本例中是弹出窗口,使用他的窗口标题:

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

按标题搜索只能使用名称的一部分。按照与上一个相同的示例,以下内容也应与您的弹出窗口匹配:

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

对于通过URL或URI查找,它们可能以部分匹配的方式工作(我推测)。因此,如果您知道弹出窗口打开的URL是什么,那么它可能是更好的解决方案。特别是如果URL比弹出标题更独特,您将减少附加到错误浏览器的机会。