每当我调用FileUpload.Set时,IE8将打开文件浏览器窗口,只需坐在那里而不输入任何文本。这是在Windows XP上,它曾经工作得很好,直到我从Ie7升级到IE8。其他人遇到这个?
答案 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;
}
这不是一个干净的解决方案,但它很简单且有效。