2012-04-25 24 views
5

Vì vậy, tôi đang cố gắng tạo trình cài đặt tự động bằng cách sử dụng Python. Làm thế nào tôi sẽ đi về tương tác với các ứng dụng Windows bản địa mà tôi khởi động? Tôi hiện đang khởi chạy chúng bằng cách sử dụng subprocess.call. Tôi có cần sử dụng Win32com không? IronPython? Gọi một tập lệnh VB từ Python?Làm cách nào để tương tác với các chương trình Windows

Tôi đã cố gắng xem xét các đối tượng COM, nhưng tất cả những gì tôi thấy là các ứng dụng Microsoft mặc định.

+0

Các ứng dụng Windows gốc mà trình cài đặt của bạn khởi chạy là gì? Họ có chấp nhận các đối số dòng lệnh để bạn có thể cho họ biết phải làm gì mà không phải tự động hóa giao diện người dùng của họ không? –

+0

Nghi ngờ, mặc dù tôi có thể xem xét điều đó. Snagit, Camtasia, Gotomeeting, trình cài đặt Ninite, vv –

Trả lời

5

Nếu ứng dụng hỗ trợ COM, hãy sử dụng COM bằng cách sử dụng win32com. Điều này tutorial đã giúp tôi rất nhiều. Nếu không, bạn có thể sử dụng một cái gì đó như pywinauto hoặc phần mềm tương tự. Nó thường được mô tả như là mô-đun cho thử nghiệm GUI. SendKeys có ích cho GUI không chuẩn như là phương sách cuối cùng.

Ranorex Spy là công cụ rất hữu ích để xác định các yếu tố GUI.

Một số đồng nghiệp của tôi cũng sử dụng các tập lệnh được biên dịch AutoHotkey.

+0

Tôi đã sử dụng SendKeys trước khi tôi cần làm điều gì đó như thế này trước đây, nhưng điều đó rất, rất lộn xộn. –

+0

Pywinauto trông thật phi thường! Sẽ kiểm tra nó ngay bây giờ. –

+0

SendKeys là lộn xộn nhưng đôi khi nó là cách duy nhất. Tuy nhiên ít nhất khi được gọi từ Pywinauto, nó tập trung vào cửa sổ bên phải. – Fenikso

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