如何检测网页弹出的窗口并下"确定"?
打开网页后弹出的窗口如何检测出来,并模拟鼠标点下"确定"?找了很多资料都没有头绪,再次麻烦大家一下了,谢谢!
这个窗口如图:
相关信息:
------解决方案--------------------
可以利用win32 API函数实现,不过有一点一定要注意:如果MessageBox的Caption为string.Empty,则比较麻烦,代码如下.
1.假设一个窗体中有如下代码:  
  public partial class Form1 : Form  
   {  
       public Form1()  
       {  
           InitializeComponent();  
       }      
       private void button1_Click(object sender, EventArgs e)  
       {  
           DialogResult result = MessageBox.Show(this, "test", string.Empty, MessageBoxButtons.YesNo, MessageBoxIcon.Information);  
           if (result == DialogResult.Yes)  
           {  
               this.DialogResult = DialogResult.Yes;  
               this.Hide();  
           }  
           else 
           {   
                this.DialogResult = DialogResult.No;                     
                this.Hide();              
           }  
       }  
   }      
2.如果我想测试这段代码,因为有消息框,必须点击按钮才可以让剩下的代码(红色标识)继续运行,否则代码覆盖率太低,怎么办?
3.解决方案:在vs 2008下测试通过
[TestClass]  
   public class UnitTest1  
   {  
       private const uint BM_CLICK = 0xF5;  
       private enum GetWindowCmd : uint 
       {  
           GW_HWNDFIRST = 0,  
           GW_HWNDLAST = 1,  
           GW_HWNDNEXT = 2,  
           GW_HWNDPREV = 3,  
           GW_OWNER = 4,  
           GW_CHILD = 5,  
           GW_ENABLEDPOPUP = 6  
       }  
       public UnitTest1()  
       {  
           //  
           //TODO: 在此处添加构造函数逻辑  
           //  
       }      
       private TestContext testContextInstance;  
       private Form1 form1;  
       private System.Timers.Timer timer;  
       private IntPtr frmHandler;  
       /// <summary>  
       ///获取或设置测试上下文,该上下文提供  
       ///有关当前测试运行及其功能的信息。  
       ///</summary>  
       public TestContext TestContext  
       {  
           get 
           {  
               return testContextInstance;  
           }  
           set 
           {  
               testContextInstance = value;  
           }  
       }   
       #region 附加测试属性  
       // 在运行每个测试之前,使用 TestInitialize 来运行代码  
       [TestInitialize()]  
       public void MyTestInitialize()  
       {  
           form1 = new Form1();  
           form1.Show();  
           form1.BringToFront();  
       }  
       //  
       // 在每个测试运行完之后,使用 TestCleanup 来运行代码  
       [TestCleanup()]  
       public void MyTestCleanup() { }  
       //  
       #endregion      
       [TestMethod]  
       public void TestMethod1()  
       {  
          //启动一个定时器,用于不断的捕获窗口  
           timer = new System.Timers.Timer();  
           timer.Interval = 100;  
           timer.E