我碰到了一個障礙。我正在嘗試使用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