0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Python】SeleniumでCisco機器の推奨バージョンを自動取得する

Last updated at Posted at 2021-05-27

このプログラムの趣旨

前回のYamahaルータのリリース情報と同様に、Cisco機器の推奨バージョン調査を自動化してみた。

Python : 【Python】RTXのリリースノートから情報を自動取得してCSVに書き出す

プログラム処理のざっくり概要

・ある機器のソフトウェアリリースURLをCSV(device_list.csv)から受け取る ・受け取ったURLへアクセス ・サイト内の推奨バージョンに付与されているクラス要素を取得して、テキスト情報を取得 ・CSVの行数分実行し、結果をリストに格納 ・リストの中身をCSVへ出力

プログラムの中身

```Cisco_version_check.py from selenium import webdriver from selenium.webdriver.chrome.options import Options from subprocess import CREATE_NO_WINDOW import csv import datetime import time

ヘッドレスモードにするための準備

options = Options()
options.add_argument('--headless')

ブラウザ起動

driver = webdriver.Chrome(executable_path='C:\chromedriver_win32\chromedriver.exe', options=options)

結果を書き出すCSVファイル名の設定

today_date = datetime.date.today()
result_file = "推奨バージョン_" + str(today_date) + ".csv"

with open(result_file,'a', newline='') as result_csv:
# csv書き込み用のwriter設定
writer = csv.writer(result_csv)

with open('.\\device_list.csv') as f:
    #csvファイルを2行目から読み込み(ヘッダースキップ)
    reader = csv.reader(f)
    next(reader)
    
    for row in reader:
        # CSVからURLを取得してページ遷移
        driver.get(row[1])
        time.sleep(2)

        # デバイス名をCSVから取得して、推奨バージョン情報を取得
        version_info = driver.find_element_by_class_name('selectedRelease')
        writer.writerow([row[0] + "の推奨バージョン:", version_info.text])

        # プロンプトにも表示しておく
        print(row[0] + "の推奨バージョン:" + version_info.text)

driver.close()
print("書き出しが完了しました。")


Cisco機器の推奨バージョンは、class="selectedRelease"の指定があるためその要素を指定してます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316676/d22e11d8-b926-48e1-6812-e35ec459f07f.png)


device_list.csvは以下のように記載。
※1行目は読み込みスキップされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316676/e826bf88-1694-48fc-964f-7a2ff19f808f.png)


URLについては、サイトからコピーしてくると


のように、"release/"の後にバージョンが載ってますが、その部分は削除して記載してください。



Cisco_version_check.pyを実行して出力されるCSVファイルは以下のようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316676/94cf5d07-133b-7055-5a81-4bbeac32f67d.png)

定期的に推奨バージョンの確認をする作業がある場合、最初にURLだけ設定しておけば次回以降の作業がCSVチェックだけになる。

あとはPyinstallerでEXEファイル化すれば1クリックで実行可能になるので、らくちんですね。
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?