Watin - IE8挂起在FileUpload.Set上

时间:2009-06-21 05:50:58

标签: internet-explorer-8 watin

每当我调用FileUpload.Set时,IE8将打开文件浏览器窗口,只需坐在那里而不输入任何文本。这是在Windows XP上,它曾经工作得很好,直到我从Ie7升级到IE8。其他人遇到这个?

3 个答案:

答案 0 :(得分:1)

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

出于某种原因,此机器上的iexplore进程在所有大写字母中显示为“IEXPLORE”。在进程名称中添加.ToLower()可以解决问题。

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

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

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