ออโต้ Login เกมแบบง่ายด้วย python

การทำงานของโปรแกรม

  • ทำงานเพียงครั้งเดียวแล้วจบการทำงาน
  • พิมพ์ข้อมูล ID
  • กด Tab เพื่อเลื่อนมาที่ช่องถัดไป
  • พิมพ์ Password
  • กด Enter เพื่อเข้าสู่ระบบ
เกมที่ผมจะนำมาทดสอบออโต้คือเกม Age of Wushu เซิฟเวอร์ ไต้หวัน

Code โปรแกรม

import pyautogui
import time

# หน่วงรอให้เปิดหน้าเกมพร้อมเตรียมทำงาน 3วินาที
time.sleep(3)

# พิมพ์คำว่า "id" โดยใช้ฟังก์ชัน typewrite ของ pyautogui
pyautogui.typewrite('ใส่ id เกมที่นี่')

# กดปุ่ม tab โดยใช้ฟังก์ชัน press ของ pyautogui
pyautogui.press('tab')

# พิมพ์คำว่า "pass" โดยใช้ฟังก์ชัน typewrite ของ pyautogui
pyautogui.typewrite('ใส่ pass เกมที่นี่')

# กดปุ่ม enter โดยใช้ฟังก์ชัน press ของ pyautogui
pyautogui.press('enter')
time.sleep(1)
pyautogui.press('enter')

ทดสอบการทำงาน

เปิดเกมให้เรียบร้อย ให้อยู่หน้าเตรียม login
จากนั้น เปิด run โปรแกรมของเรา แล้วสลับไปหน้าเกมแล้วรอหน่วงเวลา 3วินาทีให้โปรแกรมทำงานอัตโนมัติ และดูผลลัพธ์ว่าเป็นไปตามที่เราออกแบบไหม

ออโต้ Login แบบทับจอได้

ความพิเศษของแบบ ทับจอได้ คือ สามารถกดรันโปรแกรมได้เลยไม่จำเป็นต้องสลับมาหน้าจอเกมก็สามารถ พิมพ์ข้อความเองได้
โดยแบบทับจอเราจะใช้ ไลบลาลี่ของ autoit โดยการติดตั้งจากคำสั่ง pip install PyAutoIt

Code แบบทับจอ

import time
import autoit

# หน่วงรอให้เปิดหน้าเกมพร้อมเตรียมทำงาน 3วินาที
time.sleep(3)
#autoit คือชื่อฟังก์ชั่น
#control_sent คือคำสั่งการส่งข้อมูลแบบเบื่องหลัง
#control_send(title: ชื่อหน้าต่างโปรแกรม, control: ชื่อวัตถุหากไม่มีให้เว้นไว้, send_text: ข้อความที่ต้องการส่ง, mode: int = 0)
autoit.control_send("9Yin  9YIN-Xuanwu","","ชื่อ ID",0)
time.sleep(1)

autoit.control_send("9Yin  9YIN-Xuanwu","","{TAB}",0)
time.sleep(1)

autoit.control_send("9Yin  9YIN-Xuanwu","","พาส password",0)
time.sleep(1)

autoit.control_send("9Yin  9YIN-Xuanwu","","{ENTER}",0)
time.sleep(1)
autoit.control_send("9Yin  9YIN-Xuanwu","","{ENTER}",0)
ควรตั้งหน่วงเวลาหลังจบคำสั่งแต่ละคำสั่ง เนื่องจากการทำงานของโปรแกรมมีความเร็วมากจากการทดสอบข้อความจะขาดหายได้ ต้องตั้งหน่วงเวลาถึงจะเสถียรขึ้น


แสดงความคิดเห็น

0 ความคิดเห็น