千家信息网

Python+Selenium备份设备配置

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,从2016年认识Python以来,只会用telnet或者ssh来操作网络设备实现自动执行命令,对web界面的设备基本上束手无策,直到最近跳槽公司全是深信服设备,后台是ssh,抱歉,不对客户开放,SNM
千家信息网最后更新 2025年02月02日Python+Selenium备份设备配置

从2016年认识Python以来,只会用telnet或者ssh来操作网络设备实现自动执行命令,对web界面的设备基本上束手无策,直到最近跳槽公司全是深信服设备,后台是ssh,抱歉,不对客户开放,SNMP oid只提供那么几个,要批量操作,深信服的建议是买集中管理器,统一设备版本,我去NM。。。后来发现Python可以用爬虫,再后来发现还有Selenium这么个玩意儿,自动上设备上各种点,下面是一台设备操作的代码

#coding:utf-8

import os

import time

import shutil

from selenium import webdriver

options = webdriver.ChromeOptions()

prefs = {'profile.default_content_settings.popups':0,'download.default_directory':'E:/python/file/'}

print prefs

options.add_experimental_option('prefs',prefs)

driver = webdriver.Chrome(executable_path='E:\python\soft\chromedriver.exe',chrome_options=options)

time.sleep(5)

driver.get('https://10.0.0.1')

time.sleep(5)

username = driver.find_element_by_id('user')

username.send_keys('admin')

password = driver.find_element_by_id('password')

password.send_keys('xxxxxx')

button = driver.find_element_by_id('button')

button.click()

time.sleep(5)

driver.implicitly_wait(10)

driver.switch_to_window(driver.window_handles[-1])

driver.find_element_by_xpath("//*[contains(text(),'系统配置')]").click()

time.sleep(5)

driver.find_element_by_xpath("//*[contains(text(),'配置备份与恢复')]").click()

time.sleep(5)

driver.find_element_by_xpath("//*[contains(text(),'点击下载配置')]").click()

time.sleep(60)

os.chdir(r'E:\python\file')

confFileName = os.listdir('E:\python\\file')[0]

os.rename(confFileName,'Hostname.bcf')

shutil.move('Hostname.bcf','E:\python\\backup')

driver.quit()


PS. 深信服开发写前端的水平真的是无语,各种标签没id。。。还好万能的Python有find_element_by_xpath模糊查询,可以直接定位到需要的标签然后给个click()动作。。。

剩下的就是各种设备操作一遍,然后适配代码啦。。。


driver.find_element_by_xpath("//*[contains(text(),'标签文本')]") #根据标签文本定位标签

driver.find_element_by_xpath("//*[contains(@id,'extend')]") #根据标签id定位标签

driver.find_element_by_xpath("//*[starts-with(@id,'ex')]") #定位标签(标签id以ex开头)

driver.find_element_by_xpath("//*[end-with(@id,'nd')]") #定位标签(标签id以nd结尾)

driver.find_element_by_xpath("//*[matchs(text(),'文')]") #匹配正则表达式


标签 设备 定位 配置 代码 文本 备份 不对 抱歉 束手无策 公司 前端 动作 后台 命令 客户 就是 建议 开头 正则 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州集盒网络技术有限公司 小蛋壳网络技术有限公司 如何强制关闭数据库服务 天津超频服务器服务至上 网络安全为民手抄报内容 哔哩哔哩服务器什么时候能好 网络安全技术与防范 文件附加数据库时报错 网易我的世界第九大陆服务器怎么刷魂环 苹果7如何快捷开始数据库 ibm服务器风扇转两下就没反应 沄游网络技术有限公司 聊天软件开发外包 北京中清龙图网络技术有限 易诚网络技术 网络技术给设计带来的便利案例 广东电力卫星授时服务器云主机 单片机网络与数据库 绝地求生国际服专用服务器 透明的网络安全知识 中国网络安全城市 阿里云服务器配置动态验证码 ibm 服务器登录 国家网络安全建设历程 matlab连接哪些数据库 鲲鹏服务器行业分析报告2020 赫店网络技术有限公司招聘 南京一站网网络技术有限公司 centos 游戏服务器 常用网络安全设备
0