我碰到了一个障碍。我正在尝试使用WatiN上传文件。我可以加载上传框,但它很快就会消失。我现在的代码的最后一行是:WatiN文件上传
ie.FileUpload(Find.ById("profile_file")).Click();
它加载对话框来选择图片但消失。是否可以自动设置框的路径示例,加载“C:/Desktop/image.jpg”?
另外,是否有可能在继续之前等待上传完成?
非常感谢帮助。
谢谢。
我碰到了一个障碍。我正在尝试使用WatiN上传文件。我可以加载上传框,但它很快就会消失。我现在的代码的最后一行是:WatiN文件上传
ie.FileUpload(Find.ById("profile_file")).Click();
它加载对话框来选择图片但消失。是否可以自动设置框的路径示例,加载“C:/Desktop/image.jpg”?
另外,是否有可能在继续之前等待上传完成?
非常感谢帮助。
谢谢。
尽管这不会直接回答您的问题,但我怀疑有一个DialogWatcher会自动取消对话框。
为什么你需要从对话框中选择..尝试只是发送文本:
ie.FileUpload(Find.ById("profile_file")).Text = "C:/Desktop/image.jpg";
我想你需要检查这个问题&搜索的人也发布它 http://stackoverflow.com/questions/3043391/use-watin-for-automation-upload-file-on-the-website – 2010-08-04 21:07:43
作为一种安全措施,浏览器不允许脚本来设置文件输入的值。想象一下,如果他们这样做了,我可以在我的页面上放置一个隐藏文件输入,并将其值设置为c:\ topsecretinfo.txt,而不需要用户的许可。那么当用户提交表单时,我会拥有他们的绝密信息。
幸运了吧,今天我就遇到了这个问题,这是我做过什么绕过它:
这已经6年了,但如果其他人(如我)仍然遇到麻烦,这里有一个解决方案。
填写文件的对话,试试这个:
ie.FileUpload(Find.ById("profile_file")).Set("filename.txt");
这会自动拉起文件的对话。然后您会看到文本被自动输入到文件选择文本字段中。
不需要任何sendkeys。
我已经设法使用FileUpload()的Set()方法,但当它上传图像时,它将关闭该框并导致“未指定的错误”。 实际的上传工作,因为我可以看到它说'上传图像'。 这里有一个奇怪的人。 – 2010-06-17 21:12:31
对不起,图片实际上传了。但它返回一个错误。 – 2010-06-17 21:12:50