2013-02-02 19 views
5

Có thể câu hỏi này đã được hỏi trước đây nhưng tôi đã tìm kiếm và chưa tìm thấy giải pháp của nó.Tôi làm cách nào để tải lên tệp qua hộp nhập tệp bằng cách sử dụng trình duyệt web trong C#

Tôi đã thử tất cả các tùy chọn mà tôi đã tìm thấy cho đến bây giờ nhưng tất cả vô ích. SendKeys không hoạt động vì nó không điền vào hộp đầu vào tập tin với đường dẫn tập tin, đó là để được tải lên. Không thể đặt giá trị hộp nhập tệp "SetAttribute" vì không có thuộc tính giá trị có sẵn:

thats all.

Nếu tôi sử dụng element.focus() nó bật lên "chọn tệp để tải lên" và bây giờ tôi không biết cách điền nó theo chương trình và mở nó trong hộp nhập tệp.

Tôi muốn nó được tự động hoàn thành để người dùng không phải tương tác với ứng dụng. Ứng dụng sẽ chọn tệp từ đĩa cứng từ đường dẫn tệp đã cho và điền vào các trường khác của biểu mẫu sau đó bắt đầu tải lên, tất cả đều sử dụng điều khiển trình duyệt web trong ứng dụng biểu mẫu cửa sổ.

Không tìm thấy giải pháp nào!

Có ai có thể giúp bạn không? (Đây là câu hỏi bao giờ đầu tiên của tôi trên stackoverflow, vì vậy nếu tôi làm điều gì sai trái thì vui lòng hướng dẫn, ý tôi là nếu tôi không được phép đăng câu hỏi như vậy!)

Đây là mã:

 HtmlElementCollection heCollection = doc.GetElementsByTagName("input"); 
     foreach (HtmlElement heSpan in heCollection) 
     { 
      string strType = heSpan.GetAttribute("type"); 
      string strName = heSpan.GetAttribute("name"); 
      if (strType.Equals("file") && strName.Equals("file")) 
      { 
      heSpan.Focus(); 
      //heSpan.SetAttribute("value", "test.jpg"); 
      SendKeys.Send("C:\\1.txt"); 
      //heSpan.InnerText = "c:\\1.txt"; 
      } 

      //Title for the attachment 
      if (strName.Equals("field_title")) 
      { 
      heSpan.InnerText = "1.txt"; 
      } 
     } 

Khi mã này thực hiện, con trỏ bắt đầu nhấp nháy trong hộp nhập tiền phạt (vì tôi đã đặt heSpan.focus()) nhưng đường dẫn tệp không hiển thị trong hộp nhập tệp. Nếu tôi triển khai heSpan.InvokeMember ("nhấp"); Nó mở ra một tập tin để tải lên hộp thoại/cửa sổ bật lên và ở đó tôi gặp khó khăn, bởi vì tôi không biết làm thế nào để điền vào popup động và sau đó chèn đường dẫn tập tin trong hộp đầu vào tập tin.

+0

Vì đây là câu hỏi đầu tiên của bạn, hãy để tôi cung cấp cho bạn một số lời khuyên. Tôi sẽ giải thích câu hỏi của bạn trong phần câu hỏi và không chỉ trong tiêu đề. Nếu bạn chỉ dựa vào tiêu đề, câu hỏi thực tế của bạn có thể bị mất. Tôi cũng khuyên bạn nên hiển thị một số mã để minh họa những gì bạn đã thử và tại sao nó không hoạt động. – psubsee2003

+0

Tôi đã thêm mã và đã giải thích một chút về những gì tôi đã thử. Có thể bây giờ nó khá rõ ràng:/ – Yaaver

+0

Không có đề xuất ??? – Yaaver

Trả lời

0

Thử đặt tiêu điểm vào điều khiển Trình duyệt web ngay trước khi bạn đặt trọng tâm cho trường nhập. Điều đó có hiệu quả đối với tôi.

Các vấn đề liên quan