tôi đã thêm một câu trả lời cho bất cứ ai muốn sử dụng thỏa thuận với msofiledialogs gây phiền nhiễu. Điều này là làm việc ra khỏi giải pháp đề xuất của saravanan, nhưng nhiều thịt cho Python.
Tôi gặp sự cố tương tự với tập lệnh mà tôi đang làm việc cho một công ty ở bên cạnh.Tôi đang cố gắng tải lên tài liệu cho khách hàng của công ty, nhưng do cách trang web của họ hoạt động, tôi không thể sử dụng send_keys để gửi trực tiếp đường dẫn, vì vậy tôi phải dựa vào msofiledialog.
Bạn chỉ cần phải cài đặt AutoIt https://pypi.python.org/pypi/PyAutoIt/0.3 hoặc chỉ "PIP cài đặt -U pyautoit" thông qua màn hình cmd
gõ "nhập khẩu AutoIt" trên trang kịch bản của bạn
Loại sau trước khi hộp thoại tệp bật lên trong tập lệnh của bạn:
autoit.win_active ("Mở") autoit.control_send ("Mở", "Chỉnh sửa1", r "C: \ Users \ uu \ Desktop \ TestUplo ad.txt ") autoit.control_send (" Open", "Edit1", "{ENTER}")
Nó sẽ tìm kiếm các cửa sổ hộp thoại tập tin mở và điền nó ra và nhấn Enter. "Mở" là tiêu đề của màn hình hộp thoại tệp của tôi. Đặt tiêu đề của bạn thay cho "Mở". Có nhiều cách sáng tạo hơn để sử dụng các chức năng của AutoIt, nhưng đây là một cách dễ dàng, đơn giản cho người mới bắt đầu.
Chỉnh sửa: KHÔNG. KHÔNG sử dụng control_send trên hầu hết mọi thứ nếu bạn có thể tránh nó. Nó có một vấn đề nổi tiếng của việc gửi văn bản sai. Trong trường hợp của tôi, dấu hai chấm trong đường dẫn tập tin của tôi đã được biến thành một dấu chấm phẩy. Nếu bạn cần gửi các khóa đầu vào, nó sẽ ổn, tuy nhiên nếu bạn cần gửi văn bản, hãy sử dụng control_set_text. Nó có cùng cú pháp.
autoit.control_set_text("Open","Edit1",r"C:\Users\uu\Desktop\TestUpload.txt")
Tôi đã đăng [câu trả lời tại đây bằng python] [1]. [1]: http://stackoverflow.com/a/11872608/471376 – JamesThomasMoon1979