・ Ich möchte den Verwaltungsbildschirm von Netzwerkgeräten mit einem Webdriver bedienen. -Fortigate hat eine RESTFUL-Schnittstelle, aber ich werde es diesmal nicht berücksichtigen.
-Es kann möglich sein, einen besonderen Fehler zu überwachen, der es unmöglich macht, sich beim Fortigate-Verwaltungsbildschirm anzumelden.
・ Fortigate (diesmal Fortigate-60D 6.0.x) ・ Ubuntu 20.04 ・ Umgebung, in der Selen + Firefox wirkt (https://qiita.com/gaichi/items/1ece50111b50f8de6453)
-Installieren Sie das Selen-IDE-Plugin in Firefox und sehen Sie sich die aufgezeichneten Ergebnisse an. -Suchen Sie aus der HTML-Quelle. Obwohl es sich um eine Aufzeichnung handelt, kann die Operation möglicherweise nicht gut aufgenommen werden, und es können sogar mit derselben Operation unterschiedliche Ergebnisse erzielt werden. Ich verstehe HTML irgendwie, aber ich verstehe CSS überhaupt nicht, also habe ich ganz angemessen danach gesucht.
#!/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'
#Starten Sie den Browser
options = Options()
options.binary_location = '/usr/bin/firefox'
#options.add_argument('-headless')
driver = webdriver.Firefox(options=options)
#Holen Sie sich den Fortigate-Anmeldebildschirm
driver.get(LOGINURL)
# ID,Passwort eingeben
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)
#↑ Die Anzeige des Verwaltungsbildschirms dauert einige Zeit. Warten Sie daher lange.
#Klicken Sie auf das Admin-Menü
driver.find_element_by_class_name('admin-avatar').click();
time.sleep(2)
#Klicken Sie auf Abmelden
driver.find_element_by_class_name('fa-sign-out').click();
time.sleep(10)
#Beenden Sie den Browser
driver.quit()
Recommended Posts