zoukankan      html  css  js  c++  java
  • 用python批量添加保护站点

    最近在测试的过程中,由于一个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 + '
    ')
                          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('
    ', ' ')
                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('执行结束')

    注意:该文件在运行的过程中需要把谷歌驱动程序与主运行程序方在一起!

  • 相关阅读:
    MVVM教程[资源+分析]
    WPF 多点触摸开发[1]:Windows 7 安装多点触屏模拟器
    wpf 打印 之PirintVisual
    WPF:PrintVisual的问题
    几个漂亮的Button的CSS
    很不错的后台界面收集[提供下载]
    网页刷新方法集合
    JS各种各样的拖动效果
    CSS+DIV(盒子)
    网页刷新方法集合
  • 原文地址:https://www.cnblogs.com/gufengchen/p/11436946.html
Copyright © 2011-2022 走看看