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.
Your code looks OK. You don't have to use FileUploadDialogHandler. It is used internally when you call Set method.
Try this code
FileUploadDialogHandler fileupload = new FileUploadDialogHandler("filename.xls");
using (new UseDialogOnce(ie.DialogWatcher, fileupload ))
{
//code to intiate the file upload, like button.Click()
}
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");
来源:https://stackoverflow.com/questions/5932634/how-do-i-use-the-fileuploaddialoghandler-in-watin-to-access-the-file-upload-dial