วิธีประหยัดเวลาด้วยการทำ Tedious Tasks ด้วย AutoHotkey
คุณเคยต้องการทำงานที่ไร้ความคิดแบบเดียวกันบนพีซีของคุณหรือเปล่า? แทนที่จะเสียเวลากับการคลิกปุ่มและกดปุ่มนี่เป็นเวลาที่เหมาะสำหรับการใช้ทักษะ AutoHotkey ของคุณเพื่อทำให้พีซีของคุณทำงานให้คุณได้.
บันทึก: ตัวอย่างเฉพาะนี้เป็นของจริงที่ฉันใช้ก่อนหน้าวันนี้เพื่อประหยัดเวลาเล็กน้อย แต่นี่คือเทคนิคที่ฉันใช้หลายครั้งในช่วงหลายปีที่ผ่านมาเพื่อช่วยชีวิตตัวเองให้คุ้มค่ากับเวลา.
สถานการณ์
ฉันพยายามอ่านและทำความสะอาดข้อความออกอากาศที่ไม่ถูกต้องในบัญชีจดหมายข่าวทางอีเมลของฉันเมื่อฉันรู้ว่าส่วนต่อประสานของพวกเขาต้องการให้ฉันคลิกปุ่มลบด้วยตนเองแล้วยืนยันข้อความทุกข้อความ - เรากำลังพูดถึง 300 ข้อความที่ไม่ถูกต้องที่จำเป็นต้องถูกลบ เพื่อให้เรื่องแย่ลงอินเตอร์เฟซช้ามากซึ่งหมายความว่าฉันจะใช้เวลา 30-40 นาทีในการคลิกและทำให้อุโมงค์ carpal แย่ลง.
แทนที่จะทำเช่นนั้นฉันได้สร้างสคริปต์ AutoHotkey ขึ้นใหม่และเขียนสคริปต์เพื่อทำงานให้ฉันอย่างรวดเร็ว.
ขั้นตอนแรกคือการระบุว่าการคลิกและปุ่มใดที่ฉันต้องการให้เป็นแบบอัตโนมัติขั้นตอนแรกคือการคลิกที่ปุ่ม X ซึ่งจะแสดงกล่องโต้ตอบการยืนยัน Ajax นี้:
โชคดีที่ปุ่มลบจะถูกเน้นโดยอัตโนมัติดังนั้นคุณสามารถกดปุ่ม Space เพื่อยืนยัน เมื่อลบระเบียนแล้วทุกอย่างจะเลื่อนขึ้นราวกับว่าแถวไม่เคยอยู่ที่นั่น เมื่อทราบสิ่งนี้เราจะดำเนินการต่อและสร้างสคริปต์ที่ทำให้การคลิกปุ่ม X โดยอัตโนมัติรอ 3 วินาทีสำหรับกล่องโต้ตอบการยืนยันกด Space bar แล้วรออีก 3 วินาทีเพื่อให้แถวหายไป.
การสร้างสคริปต์
สิ่งแรกที่เราต้องการทำคือสร้างลูปที่จะทำซ้ำการกระทำแบบเดียวกันหลายครั้งในกรณีนี้เราประมาณว่าเราจะต้องทำซ้ำ 300 ครั้งดังนั้นเราจะใช้ลูป ไวยากรณ์เช่นนี้
วน 300
ตอนนี้เราจะต้องดำเนินการคลิกอัตโนมัติซึ่งเป็นเรื่องง่ายใน AutoHotkey - คุณเพียงแค่พิมพ์ คลิก. คุณสามารถใช้ไวยากรณ์การคลิกขั้นสูงถ้าคุณต้องการเลือกตำแหน่งที่คุณต้องการให้คลิกบนหน้าจอหรือเลือกปุ่มคลิก เพื่อจุดประสงค์ของเราเราจะใช้ค่าเริ่มต้นซึ่งทำให้เรามีสิ่งนี้:
วน 300
คลิก
ตอนนี้สคริปต์ของเราจะคลิก 300 ครั้งติดต่อกัน แต่น่าเสียดายที่เราได้รับกล่องโต้ตอบการยืนยันที่จะจัดการดังนั้นตอนนี้เราจะใช้ฟังก์ชั่นส่งเพื่อส่งการกดแป้น Space bar ไปยังหน้าต่างที่ใช้งานอยู่.
วน 300
คลิก
ส่ง อวกาศ
หากคุณดูเอกสารคุณจะเห็นไวยากรณ์ทั้งหมดสำหรับการกดแป้นพิเศษปกติสามารถป้อนได้ตามปกติตัวอย่างเช่นหากคุณต้องการพิมพ์ ทดสอบ และลงท้ายด้วย Space คุณจะใช้สิ่งนี้:
ส่งทดสอบ Space
ดังนั้นตอนนี้เรามีสคริปต์ที่คลิกที่ปุ่มจากนั้นกด Space bar ซึ่งจะไม่เป็นไรยกเว้นอินเทอร์เฟซช้าดังนั้นเราต้องแทรกการหยุดชั่วคราวเล็กน้อยระหว่างการดำเนินการคลิกและส่งแต่ละฟังก์ชัน เพื่อให้บรรลุสิ่งนี้เราจะใช้ฟังก์ชั่นสลีปซึ่งใช้เวลาเพียงหนึ่งข้อโต้แย้งคือความล่าช้าเป็นมิลลิวินาที.
วน 300
นอนหลับ 3000
คลิก
นอนหลับ 3000
ส่ง อวกาศ
ตอนนี้เรามีสคริปต์ที่จะลบรายการสำเร็จรอ 3 วินาทีก่อนที่จะเริ่มเพื่อให้คุณสามารถเลื่อนเคอร์เซอร์ของเมาส์ไปเหนือ X แรกคลิกปุ่มรอ 3 วินาทีกด Space Space แล้วรอ 3 วินาทีก่อนที่มันจะผ่านชุดถัดไป คุณสามารถใช้สคริปต์ง่ายๆนี้ได้ในตอนนี้ถ้าคุณต้องการ แต่จะทำอย่างไรถ้าคุณต้องการหยุดสคริปต์?
สิ่งที่เราจะทำคือใช้ฟังก์ชั่น GetKeyState เพื่อตรวจสอบว่าคุณได้กดคีย์เพื่อทำการทดสอบหรือไม่เราจะใช้ปุ่ม F8 และเพิ่มสิ่งต่อไปนี้ลงในกึ่งกลางของลูป วิธีนี้จะตรวจสอบว่ามีการกดแป้น F8 หรือไม่แล้วใช้ตัวแบ่งเพื่อออกจากลูป.
GetKeyState, state, F8
ถ้า state = D
หยุด
สคริปต์สุดท้าย
นี่คือสคริปต์สุดท้ายที่รวบรวมเข้าด้วยกันซึ่งอาจไม่ช่วยคุณมากเกินไปเนื่องจากเป็นสถานการณ์เฉพาะของฉัน - แต่คุณสามารถใช้สคริปต์นี้เพื่อสร้างสคริปต์ของคุณเองโดยเพียงแค่คลิกและส่งการกดแป้น.
วน 300
GetKeyState, state, F8
ถ้า state = D
หยุด
นอนหลับ 3000
คลิก
นอนหลับ 3000
ส่ง Space
กลับ
หากต้องการแสดงให้เห็นถึงวิธีการทำงานในทางปฏิบัตินี่คือวิดีโอฉบับย่อที่แสดงให้เห็นในทางปฏิบัติ:
ในสถานการณ์เฉพาะนี้ฉันใช้เวลาประมาณ 3 นาทีในการบันทึกเวลาทำงานของสคริปต์: 27 นาที มีเวลาพอที่ฉันจะบันทึกวิดีโอและเขียนบทความนี้!