Bất kỳ ai đã và đang sử dụng máy vi tính đều hiểu sự mệt mỏi khi phải thực hiện một chuỗi các thao tác giống nhau, lặp đi lặp lại. Lúc này chúng ta cần đến một giải pháp sao cho đơn giản, tiện lợi hơn. Nếu bạn là fan của Mac OSX, AppleScript sẽ là sự lựa chọn hàng đầu.
<> <>AppleScript là một ngôn ngữ kịch bản (script) được xây dựng gần giống với tiếng Anh, ứng dụng để điều khiển những hoạt động của hệ thống cũng như các chương trình đang chạy trên hệ thống đó. Tuy nhiên nếu đã quen thuộc với ngôn ngữ này, bạn sẽ dễ dàng nhận thấy hạn chế của nó. Cụ thể, không phải tất cả các chương trình đều có thể thao tác trực tiếp với AppleScript. Bài viết sau đưa ra hướng giải quyết để lấp đầy chỗ trống này, đó là sử dụng giao diện người dùng (UI) AppleScript, đồng thời chúng tôi cung cấp một số script đơn giản nhằm giúp bạn hiểu rõ hơn cách thực hiện. Kích hoạt UI ScriptingĐầu tiên, để có thể sử dụng UI Scripting, vào<> System Preferences > <>Universal Access > đánh dấu chọn vào mục <>Enable access for assistive devices. Sử dụng Key StrokesMột cách đơn giản để tương tác với giao diện của chương trình bằng Applescript là giả lập sự tham gia của tổ hợp phím (KeyStrokes), giống như bạn sử dụng những shortcut trong Mac và nhập vào các dòng lệnh. Chẳng hạn, trong TextEdit bạn muốn thực hiện quá trình tìm kiếm – thay thế kết quả tìm kiếm. Trước tiên nhấn<> CMD-F cho chức năng <>Find/Replace, nhập vào từ cần tìm tại mục <>Find, nhấn tab để chuyển tới trường tiếp theo và nhập vào từ cần thay thế, sau đó nhấn “<>Replace All”. Trong Applescript, bạn cũng có thể "nói" cho giao diện người dùng gõ các lệnh này. Bạn có thể thay thế <>CMD-F bởi lệnh <>keystroke “f” using {command down} trong Applescript. Tương tự như vậy, để thực thi phím<> CMD-SHIFT-S bạn có thể sử dụng<> keystroke “s” using {command down, shift down}. Bạn cũng có thể nhập vào UI với Applescript bởi <>keystroke “mytext”, nơi bạn có thể nhập văn bản của mình. Cuối cùng bạn có thể nhập vào một số KeyStrokes đơn giản như TAB bằng <>keystroke tab. Trước khi sử dụng KeyStrokes, bạn cần chắc chắn rằng các class của quy trình đều được gọi, và đừng quên kết thúc sau các lệnh : tell application “System Events” Dưới đây là một đoạn code đầy đủ cho hành động tìm kiếm/thay thế theo trình tự: <>tell application "TextEdit" (* Start Find/Replace Sequence *) <>tell process "TextEdit" <> tell process "TextEdit" Mỗi chương trình đều có một số nút để lựa chọn chức năng, bạn có thể sử dụng các lệnh đơn giản trong Applescript để điều khiển chúng. Ở đây, với tính năng find/replace chúng ta đã tạo ra nút "<>Replace All”. Thao tác GUI phức tạp hơnCũng như nhiều chương trình không được thiết kế trong Mac để xử lý bởi AppleScript thông qua UI Scripting, đôi khi bạn cần tìm xung quanh để giải quyết vấn đề này. Ở đây chúng ta sẽ sử dụng chương trình miễn phí có tên UIElementInspector. Một khi được khởi chạy, bạn có thể kiểm tra bất kỳ phần tử UI nào mình muốn. Quá trình này sẽ diễn ra liên tục và hiển thị chi tiết mỗi khi bạn di chuyển qua. Trong ví dụ này, bạn sẽ nhìn thấy một hệ thống được phân cấp. Menu pop-up là một phần của nhóm, nhóm này lại là một phần của nhóm khác trong một sheet của cửa sổ. Bây giờ là cách làm thế nào thể hiện quá trình này trong script: tell group 1 of group 1 of sheet 1 of window 1 Để script có thể làm việc bạn cần sử dụng đoạn code đầy đủ sau: (* save as RTF *) close document 1 saving no <> end tell Trong trường hợp này, chúng tôi muốn lưu lại tài liệu dưới dạng RTF. Sử dụng một lệnh keyStrokes để mở cửa sổ "Save As". Bạn cần kích vào menu pop-up để làm xuất hiện menu chứa các mục lựa chọn. Hy vọng rằng sau khi làm quen với cách làm việc trên Applescripts bạn sẽ có thể áp dụng nhiều hơn cho công việc hàng loạt của mình. Chúc các bạn thành công! |