C# WatiN文件上传
我遇到了困难。我正在尝试使用WatiN上传文件。我可以加载上传框,但它很快就会消失。目前我的代码的最后一行是:C# WatiN文件上传,c#,.net,watin,C#,.net,Watin,我遇到了困难。我正在尝试使用WatiN上传文件。我可以加载上传框,但它很快就会消失。目前我的代码的最后一行是: ie.FileUpload(Find.ById("profile_file")).Click(); 它加载对话框以选择图片,但会消失。是否可以自动设置框的路径?例如,加载“C:/Desktop/image.jpg” 另外,是否可以等待上载完成后再继续 非常感谢你的帮助 谢谢。虽然这不会直接回答您的问题,但我怀疑有DialogWatcher自动取消了该对话框。您为什么需要从对话框中选择
ie.FileUpload(Find.ById("profile_file")).Click();
它加载对话框以选择图片,但会消失。是否可以自动设置框的路径?例如,加载“C:/Desktop/image.jpg”
另外,是否可以等待上载完成后再继续
非常感谢你的帮助
谢谢。虽然这不会直接回答您的问题,但我怀疑有DialogWatcher自动取消了该对话框。您为什么需要从对话框中选择。。尝试只发送文本:
ie.FileUpload(Find.ById("profile_file")).Text = "C:/Desktop/image.jpg";
作为一种安全措施,浏览器不允许脚本设置文件输入的值。想象一下,如果浏览器允许,我可以将一个隐藏的文件输入放在我有联系人表单的页面上,并在未经用户许可的情况下将其值设置为c:\topsecretinfo.txt。然后当用户提交表单时,瞧,我会得到他们的绝密信息 幸运的是,我今天遇到了这个问题,我就是这么做的:
- 在页面上创建了一个名为“testupload”的新隐藏字段
- 使用Watin将此隐藏字段的值设置为“我的测试”的路径 文件
- 在服务器端,我检查这个字段,如果它存在, 我没有阅读发布的文件,而是从我的本地网站上阅读了这个文件 机器
ie.FileUpload(Find.ById("profile_file")).Set("filename.txt");
这将自动弹出文件对话框。然后,您将看到文本自动输入到文件选择文本字段中
不需要任何sendkeys。我已设法使用FileUpload()的Set()方法,但在上载图像时,它将关闭框并导致“未指定错误”。实际上传的工作,因为我可以看到它说'上传图像'。这里有一个奇怪的问题。我想你需要检查这个问题,并与发布它的人一起搜索