最近在测试的过程中,由于一个bug的复现需要添加1600个保护站点,手工添加谁知到要何年何月,因此想到了用python进行自动化批量添加保护站点!
具体代码如下:
#!/usr/bin/env python #-*- coding: utf-8 -*- #author: WangZhu #contact: isaac.zhu@dbappsecurity.com.cn #dec: add 1600 save station and click service watch console lo_to folk #data: write time is 2019/8/30 import time from selenium import webdriver time_start = time.time() #-*-*-**--*-*-*-批量生成url文件-*-*-*-*-*-*-*-* def get_ip(number=10, start='1.1.1.1'): file = open('ip_list.txt','w') starts = start.split('.') A = int(starts[0]) B = int(starts[1]) C = int(starts[2]) D = int(starts[3]) for A in range(A, 256): for B in range(B, 256): for C in range(256): for D in range(D, 256): ip = "%d.%d.%d.%d" % (A, B, C, D) if number>1: file.write(ip + '\n') number -= 1 elif number == 1: # 解决最后多一行回车问题 file.write(ip) number -= 1 else: file.close() print(ip) return D = 0 C = 0 B = 0 #-*-*/-*-*/-*/-*-*-*创建1600个保护站点,并点击应用更改-*-*-*-*-*-*-*- def createMoreStation(): time.sleep(2) #打开ip地址列表文件 ipfile = 'ip_list.txt' global iplist iplist = {} with open(ipfile, 'r') as file_to_read: for i in range(0, 2000): lines = file_to_read.readline() # 整行读取数据 if not lines: break ip = lines.replace('\n', ' ') iplist[i] = ip print(iplist[1]) #输入url,username,password,并点击登录 driver = webdriver.Chrome() driver.get("https://192.168.26.211") driver.maximize_window() time.sleep(2) driver.find_element_by_id("user_name").clear() driver.find_element_by_id("user_name").send_keys("admin") driver.find_element_by_id("user_pass").clear() driver.find_element_by_id("user_pass").send_keys("adminadmin") driver.find_element_by_id("user_login").click() time.sleep(2) # 点击配置 print("点击配置") driver.find_element_by_xpath('/html/body/div/div[3]/ul/li[5]/a/span').click() # 点击保护站点 print("添加保护站点") time.sleep(1) driver.find_element_by_xpath('/html/body/div/div[3]/ul/li[5]/ul/li[2]/a').click() time.sleep(2) print('添加保护站点') for i in range(0,1610): time.sleep(2) #添加保护站点 driver.find_element_by_xpath('//*[@id="wrapper"]/div[4]/div[1]/div/div/div[4]/div[1]/div[2]/span[3]/a/span/span/label').click() #输入站点名称 driver.find_element_by_id('webapp.name').send_keys(i) #输入站点IP driver.find_element_by_id('webapp.ip').send_keys(iplist[i]) #点击链接协议 driver.find_element_by_id('webapp-linkage-Protect1').click() #点击保存 driver.find_element_by_xpath('//*[@id="wrapper"]/div[4]/div[1]/div/div/div[3]/div[11]/div[2]/table/tbody/tr/td[2]/a[1]/span/span/label').click() print('关闭浏览器') driver.close() #批量添加保证站点 get_ip(10000, '101.23.228.102') time_end = time.time() time = time_end - time_start print('耗时%s秒' % time) createMoreStation() print('执行结束')
注意:该文件在运行的过程中需要把谷歌驱动程序与主运行程序方在一起!