Windows10
Python 3.10.2
selenium-4.1.2
で動作確認しました
Python 3.10.2
selenium-4.1.2
で動作確認しました
ブラウザからアクセスできる管理画面から、再起動させることが可能です。これをPython を使って、定期的に自動で動作させることにします。
事前準備
・Pythonのインストール
・seleniumの導入
・ChromeDriver の導入
pip install selenium
・ChromeDriver - WebDriver for Chrome - Downloads
再起動スクリプト
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from subprocess import CREATE_NO_WINDOW
from selenium.webdriver.common.by import By
userId="admin"
password="passwd1234567890"
options = Options()
options.add_argument('--headless')
service = Service(executable_path='C:\\etc\\webdriver\\ChromeDriver_98.0.4758.102\\chromedriver.exe')
service.creationflags = CREATE_NO_WINDOW
driver = webdriver.Chrome(service=service , options=options)
driver.implicitly_wait(20)
#-------------
#ログイン画面
#-------------
driver.get('http://192.168.132.1/')
element = driver.find_element(By.NAME,'luci_username')
element.clear()
element.send_keys(userId)
element = driver.find_element(By.NAME,'luci_password')
element.clear()
element.send_keys(password)
time.sleep(5)
selector = '#maincontent > form'
element = driver.find_element(By.CSS_SELECTOR,selector)
element.submit()
time.sleep(5)
#-------------
#再起動画面
#-------------
selector = 'ul.nav > li:nth-child(2)'
element = driver.find_element(By.CSS_SELECTOR,selector)
element.click()
selector = 'ul.nav > li:nth-child(2) > ul > li:nth-child(4) > a'
element = driver.find_element(By.CSS_SELECTOR,selector)
element.click()
time.sleep(5)
selector = 'button.cbi-button'
element = driver.find_element(By.CSS_SELECTOR,selector)
element.click()
time.sleep(30)
driver.close()
driver.quit()
補足 その1
service = Service(executable_path='C:\\etc\\webdriver\\ChromeDriver_98.0.4758.102\\chromedriver.exe')
executable_pathの部分は、「chromedriver.exe」を実際に配置したパスに置き換えてください。
補足 その2
password="passwd1234567890"
パスワードの部分は、NCP-HG100の管理画面のパスワードに書き換えてください。
補足 その3
options.add_argument('--headless')
の部分は、
動作を確認する時に、ブラウザが非表示だと確認しにくいので
以下の部分を、#を付けてコメント化してください。そうすると、ブラウザ表示で動作確認できます
#options.add_argument('--headless')
タスクスケジューラに登録
タスクの作成タスクスケジューラを立ち上げて、タスクの作成から作成します。「基本タスクの作成」のほうを選ぶとウイザード形式で作成ができます。トリガー =>実行のタイミ
上記記事に従って登録してください。
動画での説明
スポンサーリンク
コメント一覧
名前:助かった人 :
ご存知かと思いますが、
現在ではseleniumにchromedriverインスト機能がついたようですね。
seleniumでchromeドライバをインストしてから
補足1についてはservice = Service()でうまくできました。
とても参考になりました。
ありがとうございました。
2024/06/23 19:33