#初めての自動化
コピペライティングしないために
説明できないコードは使わない
を自分の心に刻み込みコードを書いています。
そのためプログラム内のコメントを多く入れるようにしてます。
ある有名タイピングゲームによる自動化です。
(タイトルは、利用規約うんぬんがあるので控えさせてもらいます。)
#実行環境
windows
python3.6
anaconda3
#コード全体
from selenium import webdriver
from time import sleep
import time
from selenium.webdriver.common.action_chains import ActionChains #アクションするために必要
import pyautogui as pa
import pyocr
import pyocr.builders
import cv2
from PIL import Image
#driver開く#
driver = webdriver.Chrome()
#windowサイズ#
driver.set_window_size(800, 800)
#サイトを開く#
driver.get("http://hogehoge")
#サイトが開くまで待機#
sleep(10)
#スタートボタンの座標#
#>>> pyautogui.position()#
'''
start_x = 400
start_y = 523
'''
#スタートボタンクリック#
pa.click(400, 523)
sleep(3)
#コースクリック#
pa.click(400, 523)
sleep(3)
pa.press(" ")
sleep(3)
i = 0
while True:
if i > 350:
break
print(i)
#スクリーンショット#
pa.screenshot(imageFilename="sumple.png", region=(282, 498, 200, 20))
im = cv2.imread('sumple.png')#画像読み込み
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)#グレースケール
#2値化
im_gray = cv2.imread('sumple.png', 0)#グレースケールとして読み込み
threshold_val = 100
ret, thres_im = cv2.threshold(im_gray, threshold_val, 255,cv2.THRESH_BINARY)#2値化
cv2.imwrite('sumple.png', thres_im)#2値化された画像保存
im_bw = Image.open('sumple.png')
#文字認識#
tool = pyocr.get_available_tools()[0]
text = tool.image_to_string(im_bw, lang='eng', builder=pyocr.builders.TextBuilder())
#文字入力#
print(text)
pa.typewrite(text, interval = 0.1)
i += 1
#終了#
input("何か入力")
driver.close()
driver.quit()
#終わりに
初めてのコードだったので1つ1つ調べるのに時間が掛かりました。
小さな事でもどんどんアウトプットしていこうと思います。