Pythonで、複数個タブを開きアドバンスド検索フォームに年月日ぶち込み、各タブで検索窓にカーソルを合わせる、そんなGUI自動化プログラムです。条件をまとめるにあたり打ちミスがあるとダメなんで、自動化させました。タブを多く開くのも面倒なので、自動化させました。ホニャララの部分は適宜読み替えてくださいナ!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
from selenium import webdriver from selenium.webdriver.chrome import service import pyautogui import time import os import signal def shift_previous_tab(): pyautogui.hotkey('ctrl','shift','tab') val1 = int(input("tabs: ")) val2 = input("year: ") val3 = input("month: ") val4 = input("day: ") driver_path = "C:\ホニャララ\chromedriver.exe" chrome_service = service.Service(executable_path=driver_path) driver = webdriver.Chrome(service=chrome_service) driver.get("ホニャララ") driver.maximize_window() for i in range(1,val1): print("tabs= ",i) if i == val1: break driver.execute_script("window.open('ホニャララ');") print("tabs= ",val1) print("指定回数、特定のURLのタブを開く処理が終了しました...") time.sleep(5) for j in range(1,val1): print("tabs= ",j) if j == val1: break pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.write(val2) pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.write(val3) pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.write(val4) pyautogui.moveTo(ホニャララ) pyautogui.click() shift_previous_tab() time.sleep(0.1) print("tabs= ",val1) print("指定回数、タブの前遷移処理が終了しました...") pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.write(val2) pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.write(val3) pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.write(val4) pyautogui.moveTo(ホニャララ) pyautogui.click() pyautogui.moveTo(ホニャララ) pyautogui.click() try: print("すべての処理が終了しました...") finally: os.kill(driver.service.process.pid,signal.SIGTERM) |
ポイントはブラウザ操作にselenium使ってるところかなぁ。そうしないと、ウィンドウの最大化のところで問題が発生するんだよね。あとはテキトーに変数使って古典的に作り込んでますね。GUI自動化ってこんなわかりやすいPGで組めて、それでいて便利なんですね。
※参考書…いやてか2版、1版と比べてブ厚!