如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

发布于 2024-11-05 16:58:41 字数 313 浏览 1 评论 0原文

我正在使用 IE8 和 watin,并尝试通过我的网页测试上传文件。我不能简单地使用 set 方法设置上传文件,如

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

因为上传文本区域在 IE8 中不可写,所以我必须使用 FileUploadDialogHandler 但我找不到任何如何执行此操作的示例。

我已经成功找到并使用了ConfirmDialogHandler 的示例,但我似乎不知道如何使用FileUploadDialogHandler。

任何例子将不胜感激。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

念三年u 2024-11-12 16:58:41

你的代码看起来没问题。您不必使用FileUploadDialogHandler。当您调用 Set 方法时,它在内部使用。

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

不必在意 2024-11-12 16:58:41

试试这个代码

FileUploadDialogHandler fileupload = new FileUploadDialogHandler("filename.xls");
using (new UseDialogOnce(ie.DialogWatcher, fileupload ))
{
   //code to intiate the file upload, like button.Click()
}

Try this code

FileUploadDialogHandler fileupload = new FileUploadDialogHandler("filename.xls");
using (new UseDialogOnce(ie.DialogWatcher, fileupload ))
{
   //code to intiate the file upload, like button.Click()
}
流年里的时光 2024-11-12 16:58:41

我有同样的问题。对话框已打开,但未写入文件路径。对话框保持打开状态。
我找到了一条旁路。在使用.Set 功能之前,请先使用.Click 功能。

类似的东西:

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文