0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pyautogui で よく使うもの

Last updated at Posted at 2023-03-12

key を押す (key)

指定したキーを押す

key.py
# ctrl と a を同時押し
pyautogui.hotkey('ctrl', 'a')

# 上記の後に e を押す
time.sleep(0.5)
pyautogui.press("e")

スリープ (sleep)

処理の間に1.2秒のスリープ

sleep.py
time.sleep(1.2)

画像を探す (img)

opencv インスコ必須
grayscale = True で高速化
confidence= 0.9 で曖昧検索

img.py

# 画像があるか探す
img = pyautogui.locateCenterOnScreen('your.png', grayscale=True, confidence=0.9)

if img:
    # 画像があれば、中心をクリック
    pyautogui.click(img.x,img.y)
    
    # 画像の位置まで0.5-2秒使い移動させクリック
    pyautogui.moveTo(img.x,img.y, random.uniform(0.5, 2), pyautogui.easeInQuad)
        pyautogui.click()

すべての画像を探す

わかりやすく、座標をx,yに変換。
その後順に画像をクリックしていく。

imgall.py
imgs = list(pyautogui.locateAllOnScreen('firefox-plus.png', grayscale=True, confidence=0.9))
centers = [pyautogui.center(v) for v in imgs]

i = 0
while i < len(centers):
    pyautogui.moveTo(centers[i].x,centers[i].y,random.uniform(0.5, 2), pyautogui.easeInQuad)
    pyautogui.click()
    i += 1

クリック (click)

click.py
# クリック
pyautogui.click()

# 右クリック
pyautogui.rightClick()

ランダム (rand)

random.py

# ランダムで整数を取得
random_int = random.randint(0, 9)

# ランダムで少数以下も取得
random.uniform(0.6, 1.5)

# 配列からランダムで一つ取得
urls = [
    'https://yahoo.co.jp',
    'https://google.co.jp',
    'https://qiita.com/'
]

rand_url = random.choice(urls)

例外処理 (try)

try.py
try:
    # 画像をクリックする
    pyautogui.click('button.png')
except Exception as e:
    # ここで、キャプチャが出たかどうかを調べるのも良いかも
    print(f'エラー発生 red: {str(e)}. Exiting...')

最後に

位置情報の注意

locateCenterOnscreen の時は
x , y になる

locateOnscreen の 時は
left , top

わかりづらいので、locateCenterOnscreen に統一したほうが良い

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?