・ Je souhaite utiliser l'écran de gestion des périphériques réseau avec le Webdriver. -Fortigate a une interface RESTFUL, mais je ne l'envisagerai pas cette fois.
-Il peut être possible de surveiller une défaillance particulière qui rend impossible la connexion à l'écran de gestion fortigate.
・ Fortigate (Fortigate-60D 6.0.x cette fois) ・ Ubuntu 20.04 ・ Environnement dans lequel le sélénium + firefox fonctionne (https://qiita.com/gaichi/items/1ece50111b50f8de6453)
-Installez le plugin sélénium IDE dans Firefox et voyez les résultats enregistrés par enregistrement. -Recherche à partir de la source HTML. Bien qu'il s'agisse d'un enregistrement, l'opération peut ne pas être bien captée et des résultats différents peuvent être obtenus même avec la même opération. Je comprends en quelque sorte le HTML, mais je ne comprends pas du tout le CSS, alors je l'ai recherché de manière assez appropriée.
#!/bin/python3
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
import time
USERNAME='admin'
PASSWORD='password'
LOGINURL='https://192.168.1.99/login'
#Lancer le navigateur
options = Options()
options.binary_location = '/usr/bin/firefox'
#options.add_argument('-headless')
driver = webdriver.Firefox(options=options)
#Obtenez l'écran de connexion Fortigate
driver.get(LOGINURL)
# ID,Entrer le mot de passe
time.sleep(1)
driver.find_element_by_id('username').send_keys(USERNAME)
time.sleep(1)
driver.find_element_by_id('secretkey').send_keys(PASSWORD)
time.sleep(1)
driver.find_element_by_name('login_button').click()
time.sleep(5)
#↑ L'affichage de l'écran de gestion prend du temps, alors attendez longtemps.
#Cliquez sur le menu Admin
driver.find_element_by_class_name('admin-avatar').click();
time.sleep(2)
#Cliquez sur Déconnexion
driver.find_element_by_class_name('fa-sign-out').click();
time.sleep(10)
#Quittez le navigateur
driver.quit()