แนะนำ CogniTab Script Runtime
CogniTab Runtime V2 มีเอนจินสคริปต์ที่ใช้ Python ซึ่งช่วยให้สร้างระบบอัตโนมัติสำหรับการสัมผัส การรู้จำภาพ การตรวจจับสี และการโต้ตอบกับหน้าจอ Android ได้สะดวก
ตัวอย่างเริ่มต้นอย่างรวดเร็ว
สคริปต์ระบบอัตโนมัตินี้ผสานการแตะ การค้นหาเทมเพลตภายในบริเวณ และการปัดผ่านหลายจุด:
# กำหนดพิกัดและแตะหน้าจอเบื้องต้น
target = Point(540, 960)
click(target)
wait(400)
# ค้นหารูปปุ่มภายในบริเวณหน้าจอ
search = Region(100, 200, 400, 600)
match = search.find("start_btn", timeout=3000)
if match.found:
click(match)
wait(250)
else:
# ปัดขึ้นหากยังไม่พบรายการ
swipe([SwipePoint(Point(500, 1200), speed="NORMAL"), SwipePoint(Point(500, 400))])แนวทางที่ดี: ค้นหาภาพหลายภาพด้วย ScreenCapture
เมื่อต้องค้นหาเทมเพลตหรือสีหลายรายการในเฟรมเดียวกัน การเรียก find() ซ้ำจะจับภาพหน้าจอซ้ำ ใช้ ScreenCapture.cache_on() เพื่อเก็บเฟรมปัจจุบันไว้ ค้นหาทุกรายการ แล้วเรียก ScreenCapture.cache_off() เมื่อเสร็จ อย่าลืมปิดแคชเมื่อต้องการรู้จำหน้าจอแบบเรียลไทม์:
# 1. เก็บเฟรมปัจจุบันไว้เพื่อค้นหาภาพหลายรายการได้เร็วขึ้น
ScreenCapture.cache_on()
area = Region(100, 200, 400, 600)
hit_a = area.find("btn_confirm", timeout=0)
hit_b = area.find("btn_cancel", timeout=0)
hit_c = area.find("icon_close", timeout=0)
# 2. ปิดแคชเมื่อต้องการรู้จำหน้าจอแบบเรียลไทม์
ScreenCapture.cache_off()
if hit_a.found:
click(hit_a)
elif hit_b.found:
click(hit_b)ไวยากรณ์ Python พื้นฐานสำหรับสคริปต์
1. การประกาศตัวแปร
เก็บตัวเลข ข้อความ ค่าบูลีน และค่า None ด้วยไวยากรณ์มาตรฐานของ Python
# กำหนดตัวแปรพื้นฐาน
count = 3
title = "Farm run"
enabled = True
nothing = None2. การประกาศฟังก์ชันด้วย def
ใช้ def และ return จัดโครงสร้างโค้ดที่นำกลับมาใช้ได้ ฟังก์ชันในสคริปต์เดียวกันเรียกได้ทั้งก่อนและหลังบรรทัด def
def add(a, b):
return a + b
def cell(index):
return index // 9, index % 9
result = add(2, 3)
row, col = cell(10)3. ตัวแปร global และฟังก์ชันซ้อนกัน
ใช้คำสงวน global เปลี่ยนค่าตัวแปรภายนอกฟังก์ชัน ส่วนฟังก์ชันที่ซ้อนกันจะเข้าถึงขอบเขตของฟังก์ชันแม่ได้โดยอัตโนมัติ
counter = 0
def increment():
global counter
counter += 1
return counter4. เงื่อนไขและลูป
ควบคุมลำดับการทำงานด้วย if/elif/else ลูป while และลูป for ร่วมกับ range
energy = 3
if energy > 0:
click(Point(500, 900))
for step in range(3):
wait(200)5. คลาสหลักที่มีมาให้
โต้ตอบกับหน้าจอด้วยคลาสที่เตรียมไว้ เช่น Point, Region, Template, Touch, Color และ ScreenCapture
target = Point(500, 900)
search_area = Region(100, 200, 300, 400)
click(target)
match = search_area.find("enemy", 2500)
if match.found:
click(match)6. การสร้างคอลเลกชันแบบ comprehension
สร้าง list, dictionary และ set ได้กระชับด้วยเงื่อนไข for/if
numbers = [1, 2, 3, 4, 5]
evens = [x for x in numbers if x % 2 == 0]
squares = {x: x * x for x in numbers}สำรวจแค็ตตาล็อก API
อ่านคู่มือฉบับเต็มของคลาส คลาสระบบแบบอ่านอย่างเดียว คอลเลกชัน และฟังก์ชันควบคุมท่าทาง