【问题标题】:Watin - IE8 hangs on FileUpload.SetWatin - IE8 在 FileUpload.Set 上挂起
【发布时间】:2009-06-21 05:50:58
【问题描述】:

每当我调用 FileUpload.Set 时,IE8 都会打开文件浏览器窗口,然后就坐在那里而不输入任何文本。这是在 Windows XP 上运行的,在我从 Ie7 升级到 IE8 之前它可以正常工作。还有其他人遇到这个吗?

【问题讨论】:

    标签: internet-explorer-8 watin


    【解决方案1】:

    原来 WatiN 源代码中的这一行是问题所在: if (Process.GetProcessById(window.ProcessID).ProcessName != "iexplore") return;

    由于某种原因,这台机器上的 iexplore 进程显示为“IEXPLORE”,全部大写。在进程名称中添加 .ToLower() 可以解决问题。

    编辑:看起来这个错误已经被报告了。

    【讨论】:

      【解决方案2】:

      由于WatiN 查找对话框的方式(按样式编号),IE8 在低于2.0 的版本中会被破坏是可以理解的。您可能想尝试使用 2.0 测试版。

      或者,您可以在 FileUpload DialogHandler 上查看样式编号并添加 IE7 和 8(96CC20C4 和 96CC02C4)的样式编号。

      【讨论】:

      • 我应该提到 - 我升级到了最新的 beta 版本,但问题仍然存在。
      【解决方案3】:

      我想发布此问题的更新,因为它在 Win7 操作系统中再次出现。

      如果您在最新的 WatiN 版本中遇到同样的问题,您可以覆盖 FileUploadDialogHandler 类中的函数 CanHandleDialog

      public override bool CanHandleDialog(Window window, System.IntPtr mainWindowHwnd)
      {
         return true;
      }
      

      这不是一个干净的解决方案,但它简单且有效。

      【讨论】:

        猜你喜欢
        • 2011-08-22
        • 1970-01-01
        • 2011-08-13
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-23
        相关资源
        最近更新 更多