从2016年认识Python以来,只会用telnet或者ssh来操作网络设备实现自动执行命令,对web界面的设备基本上束手无策,直到最近跳槽公司免费云主机域名全是深信服设备,后台是ssh,抱歉,不对客户开放,SNMP oid只提供那么几个,要批量操作,深信服的建议是买集中管理器,统一设备版本,我去NM。。。后来发现Python可以用爬虫,再后来发现还有Selenium这么个玩意儿,自动上设备上各种点,下面是一台设备操作的代码#coding:utf-8import osimport timeimport shutilfrom selenium import webdriveroptions = webdriver.ChromeOptions()prefs = {‘profile.default_content_settings.popups’:0,’download.default_directory’:’E:/python/file/’}print prefsoptions.add_experimental_option(‘prefs’,prefs)driver = webdriver.Chrome(executable_path=’E:pythonsoftchromedriver.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:pythonfile’)confFileName = os.listdir(‘E:pythonfile’)[0]os.rename(confFileName,’Hostname.bcf’)shutil.move(‘Hostname.bcf’,’E:pythonbackup’)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(),’文’)]”) #匹配正则表达式
今天小编给大家分享一下服务器使用linux的原因有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 使用linux的原因:1、开源,通过开源方…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。