Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用watin中的FileUploadDialogHandler访问文件上载对话框_C#_Watin - Fatal编程技术网

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

C# 如何使用watin中的FileUploadDialogHandler访问文件上载对话框,c#,watin,C#,Watin,我正在和watin一起使用IE8,并尝试通过我的网页上传一个文件。我不能简单地用set方法设置上传文件,比如 ie.FileUpload(Find.ById(“someId”)).Set(“C:/Desktop/image.jpg”) 因为上传文本区域在IE8中是不可写的,所以我必须使用FileUploadDialogHandler,但我找不到任何例子来说明如何做到这一点 我已经成功地找到并使用了ConfirmDialogHandler的示例,但我似乎不知道如何使用FileUploadDialo

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

ie.FileUpload(Find.ById(“someId”)).Set(“C:/Desktop/image.jpg”)

因为上传文本区域在IE8中是不可写的,所以我必须使用FileUploadDialogHandler,但我找不到任何例子来说明如何做到这一点

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


任何示例都将不胜感激。

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

请尝试此代码

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

我也有同样的问题。对话框正在打开,但未写入文件路径。对话框保持打开状态。 我找到了一条旁路。在使用之前。设置函数使用。单击函数

诸如此类:

ie.FileUpload(Find.ById(“someId”)。单击();
ie.FileUpload(Find.ById(“someId”)).Set(“C:/Desktop/image.jpg”)

但是upload控件中的文本框是不可写的,因此当我调用Set方法时,浏览器中不会发生任何事情,然后当我尝试进行上传时,我会得到一个文件不存在错误,这与我手动执行时发生的情况相同。如果不先让上传对话框弹出,我就不能输入任何文本,我也不知道如何与上传弹出进行交互。这与文本框无关。当您调用
Set
WatiN时,通常会打开一个对话框,并使用
FileUploadDialogHandler
在其中键入文件名。我猜你必须将你的网站添加到trusted或类似的网站。谢谢你的帮助。我将我的站点添加到受信任的站点,现在它可以工作:-)