使用 WATIN 检测新的浏览器窗口 [英] detect new browser window with WATIN

查看:33
本文介绍了使用 WATIN 检测新的浏览器窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法测试链接是否在新的浏览器窗口(或浏览器标签)中打开?

is there a way to test wether a link was opened in a new browser-window (or browser-tab)?

更新:

到目前为止,我使用了以下代码:

So far I used the following code:

var newBrowserWindow = Browser.AttachTo<IE>(Find.ByTitle(browserTitle));
Assert.That(newBrowserWindow.hWnd, Is.Not.EqualTo(existingBrowserWindow.hWnd));

我使用 existingBrowserWindow 打开页面并单击链接的地方.但是当链接在现有浏览器中打开一个新选项卡时(带有 targer=_blank 的 IE 的默认行为)它具有相同的窗口句柄,因为它是相同的浏览器窗口.那么如何检测新标签页?

Where I used the existingBrowserWindow to open a page and to click on a link. But when the link opens a new tab in the existing browser (default behaviour for IE with targer=_blank) it has the same window-handle, since it's the same browser window. So how can I detect a new tab?

推荐答案

你的一些代码会有所帮助...,

Some code of yours would help...,

无论如何,当一个链接打开一个新的浏览器窗口时我所做的是

Anyway, what I do when a link open a new browser window is

using (var newBrowser = WatiN.Core.Browser.AttachTo<IE>(Find.ByTitle("Analytics - Read conversation"))
{
}

Browser.AttachTo 支持 Find.ByUri()Find.ByTitle()Find.By("hwnd", windowHandle) 根据文档.我只测试了 Find.ByUri()Find.ByTitle() 方法.

Browser.AttachTo supports Find.ByUri(), Find.ByTitle() and Find.By("hwnd", windowHandle) according to documentation. I only tested Find.ByUri() and Find.ByTitle() methods.

如果你想检测你的动作是否打开了一个新窗口,你可以这样做

if you want to detect if you action has opened a new window you could do

public bool TryGetNewBrowser(out IE browser, string title)
{
    try
    {
        browser = WatiN.Core.Browser.AttachTo<IE>(Find.ByTitle(title));
        return true;
    }
    catch(WatiN.Core.Exceptions.BrowserNotFoundException)
    {
        browser = null;
        return false;
    }
}

据我所知,WatiN 不支持新标签.但是 Internet Explorer 的默认行为是在新窗口中打开新链接.

As far as I know, there is no support in WatiN for new tab. But the default behavior of internet explorer is to open new links in new window.

这篇关于使用 WATIN 检测新的浏览器窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆