はじめに
Seleniumで作ったPythonファイルを、タスクスケジューラに登録して自動で実行する方法を紹介します。
タスクスケジューラ
検索で「タスク」って入れると出てくる
こんな画面
まずは、「操作」から→「タスクの作成」へ
タスクの作成画面では、このタスクに適当に名前を付けます。
次に、から→「トリガー」へ
ここで、実行したい時間を設定出来ます。
左下の「新規」ボタンを押します。
次のように、実行頻度や、時間を指定する項目が設定出来ます。
ポチポチ決めるだけですね。
そして、最後に「操作」です。
ここでは、トリガーで決めた時間や頻度で「何をするか」を設定します。
ここでも「新規」から新しく作成しましょう!
基本的には以下の4つの設定になります。
①操作:今回はpythonファイルの実行なので「プログラムの実行」でOKです。
②プログラム/スクリプト:VBSとかだと実行実行ファイルをそのまま設定しますが、pythonファイルの場合は、「python.exe」のPATHを設定します。
ここでは、「C:\Users\tomom\anaconda3\python.exe」を使います。
③引数の追加:実行するpythonファイルの名前を入力します。
ここでは、今回は「sample.py」のファイルを実行するようにするため「sample.py」と入力します。
④開始:③で設定した実行したいpythonファイルが保存されているフォルダのPATHを入力します。
ここでは、「D:\sample」に「sample.py」が置いてあるので「D:\sample」と入力します。
こうなります。
では、タスクスケジューラから実行出来るかやってみましょう!
今回「sample.py」には、次のようなコードを用意しています。
'''
ひらちんの部屋のサイトを立ち上げる
'''
from selenium import webdriver
from selenium.webdriver import ChromeOptions
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome import service as fs
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
options = webdriver.ChromeOptions()
options.headless = False #ヘッドレスモードの場合True指定
serv = Service(ChromeDriverManager().install()) #driverの自動更新
driver = webdriver.Chrome(service=serv, options=options) #driver
driver.maximize_window() #画面表示最大化
wait = WebDriverWait(driver, 100) #タイムアウト時間の設定
URL = r"https://hirachin.com/" #開きたいURL
driver.get(URL)
time.sleep(5)
「ひらちんの部屋」を立ち上げるだけです。
「タスクスケジューラのライブラリ」で「sample実行」を見つけてください。
右クリックすると「実行する」というメニューがありますので、それを押すと先程設定したものをすぐに実行出来ます。
うまく実行出来ればOKです(^o^)
おまけ
※pythonファイルで実行したとき、コマンド画面が閉じない場合があります。
そんなときはpythonファイルできちんとdriverを閉じてあげる「driver.quit()」を最後に入れてください。
# ドライバーを閉じる(これが無いと、タスクスケジューラで起動した時にコマンド画面が閉じないことある)
driver.quit()
コメント