在进行自动化时切换IE中的选项卡

时间:2016-05-09 09:59:07

标签: c# watin

我正在尝试自动化网页。在它上面有一个链接,通过单击它可以在另一个选项卡中打开。我被困在这里。我尝试了Redirect选项,但它没有用。

这是我尝试自动化的网页代码:

<td class="">
    <a href="../TMI/viewCustomerDetails.jsp?mcid=30000248243" target="_new">30000248243</a>
</td>

这就是我在做的事情:

public void ThenIClickAtTheMCID()
{
     var MCID = WebBrowser.Current.Link(Find.ByText("30000248243"));
     if (!MCID.Exists)
     {
          Assert.Fail("Unable to find the MCID Name");
          MCID.Click();
     }
}

它确实打开了链接但无法移动到下一个标签。我该如何进一步处理?

这是我的WebBrowser课程:

using TechTalk.SpecFlow ;

using WatiN.Core;

namespace WebTest
{
    class WebBrowser
    {
        public static IE Current
        {
            get
            {
                if (!ScenarioContext.Current.ContainsKey("browser")) ScenarioContext.Current["browser"] = new IE();
                return ScenarioContext.Current["browser"] as IE;
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

This might help

基本上你可以尝试:

WebBrowser.Current.PressTab();
WebBrowser.Current.WaitForComplete();

答案 1 :(得分:0)

作为参考,如果您通过任何操作打开了另一个选项卡,最好找到IE的现有实例并附加到它并继续,就像您启动它一样。像这样:

var newTabOpened = Browser.AttachTo(typeof(IE)), Find.ByUrl("http://www.google.com")

从这里你可以继续使用newTabOpened作为WatIn中的任何其他IE实例。