LoginSignup
4
6

More than 1 year has passed since last update.

【Python】pyautogui入門 -定型作業を自動化してみる-

Posted at

概要

メルカリで行う定型作業の自動化をする際にSeleniumを用いた自動化を行おうとした。
しかし規約違反スレスレの行為でもあり、WebDriverからのアクセスは0秒でバレることを知ったため断念。

そこで普段の定型作業がキーボードとマウスをいじるだけの簡単なものだったため、opencvによる画像認識とpyautoguiを用いて作業の自動化を試みた。

目的

  • pyautoguiで定型作業を自動化する

対象の動作

動作内容

商品を値上げした後、値段を戻すことでタイムライン上部に表示させる。

フロー

  • 現在のページからGoogle Chromeへ移動
  • 商品の編集押下
  • 商品の値段の末尾を一桁増やす(300円→3,000円)
    • 更新
  • 商品の値段の末尾を一桁減らす(3,000円→300円)
    • 更新
  • ページを閉じる

この作業の意味

メルカリでは商品の値段を100円以上下げると、タイムライン上部に商品が表示されるようになる。

タイムライン上部に表示される = 売れる確率の上昇 に繋がっており、メルカリで商品を売買する身としては必須の操作です。

注意点

投稿者の画面解像度が4Kなので、他の画面解像度では正しく動作しない可能性があります。

コード

source.py
import time
import pyautogui as pgui

# Google Chromeへ移動する
def go_page() -> None:
    pgui.keyDown('alt')
    pgui.press('tab')
    pgui.keyUp('alt')


# 指定した画像をクリックする
def click_image(image_path: str) -> tuple:

    try:
        locate : tuple = pgui.locateOnScreen(image_path, grayscale=True, confidence=0.7)
        pgui.click(locate, duration=0.5)
        return locate

    except pgui.ImageNotFoundException:
        pgui.alert(text='画像が見つかりません', title='エラー', button='OK')


# main
def main():

    # 編集画面へ遷移する
    click_image('./image/syouhinnnohensyuu.png')
    time.sleep(5)

    pgui.press('end')
    time.sleep(2)

    # 価格を一桁減らす
    click_image('./image/hanbaikakaku.png')
    pgui.press('end')
    pgui.write('0')
    pgui.press('enter')
    time.sleep(3)

    # 編集画面へ遷移する
    click_image('./image/syouhinnnohensyuu.png')
    time.sleep(5)

    pgui.press('end')
    time.sleep(2)

    # 価格を一桁増やす
    click_image('./image/hanbaikakaku.png')
    pgui.press('end')
    pgui.press('backspace')
    pgui.press('enter')
    time.sleep(3)

    # ページを閉じる。
    pgui.hotkey('ctrl', 'w')

if __name__ == '__main__':

    page_count = input('実施件数を入力してください >>> ')
    go_page()

    for _ in range(int(page_count)):
        main()

ファイル構成


│   source.py
│   
└───image
        hanbaikakaku.png
        syouhinnnohensyuu.png

その他

github → https://github.com/Suntory-Y-Water/start_pyautogui

4
6
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
4
6