How do I use the FileUploadDialogHandler in watin

2019-05-04 07:15发布

I'm using IE8 with watin and am trying to test uploading a file via my webpage. I can't simply set the upload file using the set method like

ie.FileUpload(Find.ById("someId")).Set("C:/Desktop/image.jpg");

because the upload textarea is not writeable in IE8, so I have to use the FileUploadDialogHandler but I can't find any examples of how to do this.

I have found and used examples of the ConfirmDialogHandler successfully, but I can't seem to figure out how to use the FileUploadDialogHandler.

Any examples would be greatly appreciated.

标签: c# watin
3条回答
疯言疯语
2楼-- · 2019-05-04 08:05

Try this code

FileUploadDialogHandler fileupload = new FileUploadDialogHandler("filename.xls");
using (new UseDialogOnce(ie.DialogWatcher, fileupload ))
{
   //code to intiate the file upload, like button.Click()
}
查看更多
啃猪蹄的小仙女
3楼-- · 2019-05-04 08:10

I had the same issue. The dialog box was opening, but the filepath was not written. Dialog box was remained opened. I found a by pass. Before using .Set function use the .Click function.

Something like that :

ie.FileUpload(Find.ById("someId")).Click(); ie.FileUpload(Find.ById("someId")).Set("C:/Desktop/image.jpg");

查看更多
我命由我不由天
4楼-- · 2019-05-04 08:22

Your code looks OK. You don't have to use FileUploadDialogHandler. It is used internally when you call Set method.

查看更多
登录 后发表回答