-->

How do I use the FileUploadDialogHandler in watin

2019-05-04 07:42发布

问题:

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.

回答1:

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



回答2:

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:

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");



标签: c# watin